Update installation and update docs with the new plm tool

Also updates the Docker files
pull/261/head
Bat 6 years ago
parent d0d1210e21
commit caa4c38948

@ -14,7 +14,8 @@ WORKDIR /app
COPY Cargo.toml Cargo.lock ./
RUN cargo install diesel_cli --no-default-features --features postgres --version '=1.2.0'
COPY . .
RUN cargo build
RUN cargo install --force
RUN cargo install --path plume-cli --force
RUN rm -rf target/debug/incremental
CMD ["cargo", "run"]
CMD ["plume"]
EXPOSE 7878

@ -133,44 +133,73 @@ This command may be useful if you decided to use a separate database server.
## Starting Plume
When you launch Plume for the first time, it will ask you a few questions to setup your instance before it actually launches. To start it, run these commands.
First, you'll need to install Plume and the CLI tools to manage your instance.
```
# Optional, only do it if the database URL is not
# postgres://plume:plume@localhost/plume
export DB_URL=postgres://plume:PASSWORD@DBSERVERIP:DBPORT/DATABASE_NAME
cargo install && cargo install --path plume-cli
```
Before starting Plume, you'll need to create a configuration file, called `.env`. Here is a sample of what you should put inside.
```bash
# The address of the database
# (replace USER, PASSWORD, PORT and DATABASE_NAME with your values)
DB_URL=postgres://USER:PASSWORD@IP:PORT/DATABASE_NAME
# The domain on which your instance will be available
BASE_URL=plu.me
# Secret key used for private cookies and CSRF protection
# You can generate one with `openssl rand -base64 32`
ROCKET_SECRET_KEY=
```
For more information about what you can put in your `.env`, see [the documentation about environment variables](ENV-VARS.md).
After that, you'll need to setup your instance, and the admin's account.
```
plm instance new
plm users new --admin
```
For more information about these commands, and the arguments you can give them, check out [their documentaion](CLI.md).
# Create the media directory, where uploads will be stored
After that, you are almost done, the last thing to do is to create the media directory, where uploads will be stored:
```bash
mkdir media
```
# Actually start Plume
cargo run
Finally, you can start Plume with:
```bash
plume
```
## Docker install
You can use `docker` and `docker-compose` in order to manage your Plume instance and
have it isolated from your host:
You can use `docker` and `docker-compose` in order to manage your Plume instance and have it isolated from your host:
```
```bash
git clone git@github.com:Plume-org/Plume.git
cd Plume
cp docs/docker-compose.sample.yml docker-compose.yml
cp docs/docker.sample.env .env
# build the containers
# Build the containers
docker-compose build
# launch the database
# Launch the database
docker-compose up -d postgres
# run the migrations
# Run the migrations
docker-compose run --rm plume diesel migration run
# run interactive setup
docker-compose run --rm plume bash
cargo run
# copy the env file and paste it in your host .env file
cat .env
# leave the container
exit
# launch your instance for good
# Setup your instance
docker-compose run --rm plume plume instance new
docker-compose run --rm plume plume users new --admin
# Launch your instance for good
docker-compose up -d
```
@ -196,7 +225,7 @@ server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name blog.example.org;
access_log /var/log/nginx/access.log;
root /home/plume/Plume/ ;
@ -295,7 +324,7 @@ Description=plume
Type=simple
User=plume
WorkingDirectory=/home/plume/Plume
ExecStart=/home/plume/.cargo/bin/cargo run
ExecStart=/home/plume/.cargo/bin/plume
TimeoutSec=30
Restart=always
@ -339,7 +368,7 @@ This script can also be useful if you are using SysVinit.
### END INIT INFO
dir="/home/plume/Plume"
cmd="/home/plume/.cargo/bin/cargo run"
cmd="/home/plume/.cargo/bin/plume"
user="plume"
name=`basename $0`
@ -437,4 +466,4 @@ exit 0
## Acknowledgements
Most of this documentation has been written by *gled-rs*. The systemd unit file, Nginx and Apache configurations have been written by *nonbinaryanargeek*. Some parts (especially the instructions to install native dependencies) are from the [Aardwolf project](https://github.com/Aardwolf-Social/aardwolf).
Most of this documentation has been written by *gled-rs*. The systemd unit file, Nginx and Apache configurations have been written by *nonbinaryanargeek*. Some parts (especially the instructions to install native dependencies) are from the [Aardwolf project](https://github.com/Aardwolf-Social/aardwolf). The docker instructions, and files have been added by *Eliot Berriot*.

@ -4,11 +4,12 @@ To update your instance, run these commands with `plume` user if you created it,
```
git pull origin master
cargo install --force && cargo install --path plume-cli --force
# If you are using sysvinit
sudo service plume restart
# If you are using systemd
# If you are using systemd
sudo systemctl restart plume
```

Loading…
Cancel
Save