Update installation and update docs with the new plm tool
Also updates the Docker files
This commit is contained in:
parent
d0d1210e21
commit
caa4c38948
|
@ -14,7 +14,8 @@ WORKDIR /app
|
||||||
COPY Cargo.toml Cargo.lock ./
|
COPY Cargo.toml Cargo.lock ./
|
||||||
RUN cargo install diesel_cli --no-default-features --features postgres --version '=1.2.0'
|
RUN cargo install diesel_cli --no-default-features --features postgres --version '=1.2.0'
|
||||||
COPY . .
|
COPY . .
|
||||||
RUN cargo build
|
RUN cargo install --force
|
||||||
|
RUN cargo install --path plume-cli --force
|
||||||
RUN rm -rf target/debug/incremental
|
RUN rm -rf target/debug/incremental
|
||||||
CMD ["cargo", "run"]
|
CMD ["plume"]
|
||||||
EXPOSE 7878
|
EXPOSE 7878
|
||||||
|
|
|
@ -133,44 +133,73 @@ This command may be useful if you decided to use a separate database server.
|
||||||
|
|
||||||
## Starting Plume
|
## 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
|
cargo install && cargo install --path plume-cli
|
||||||
# postgres://plume:plume@localhost/plume
|
```
|
||||||
export DB_URL=postgres://plume:PASSWORD@DBSERVERIP:DBPORT/DATABASE_NAME
|
|
||||||
|
|
||||||
# Create the media directory, where uploads will be stored
|
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).
|
||||||
|
|
||||||
|
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
|
mkdir media
|
||||||
|
```
|
||||||
|
|
||||||
# Actually start Plume
|
Finally, you can start Plume with:
|
||||||
cargo run
|
|
||||||
|
```bash
|
||||||
|
plume
|
||||||
```
|
```
|
||||||
|
|
||||||
## Docker install
|
## Docker install
|
||||||
|
|
||||||
You can use `docker` and `docker-compose` in order to manage your Plume instance and
|
You can use `docker` and `docker-compose` in order to manage your Plume instance and have it isolated from your host:
|
||||||
have it isolated from your host:
|
|
||||||
|
|
||||||
```
|
```bash
|
||||||
git clone git@github.com:Plume-org/Plume.git
|
git clone git@github.com:Plume-org/Plume.git
|
||||||
cd Plume
|
cd Plume
|
||||||
cp docs/docker-compose.sample.yml docker-compose.yml
|
cp docs/docker-compose.sample.yml docker-compose.yml
|
||||||
cp docs/docker.sample.env .env
|
cp docs/docker.sample.env .env
|
||||||
# build the containers
|
|
||||||
|
# Build the containers
|
||||||
docker-compose build
|
docker-compose build
|
||||||
# launch the database
|
|
||||||
|
# Launch the database
|
||||||
docker-compose up -d postgres
|
docker-compose up -d postgres
|
||||||
# run the migrations
|
# Run the migrations
|
||||||
docker-compose run --rm plume diesel migration run
|
docker-compose run --rm plume diesel migration run
|
||||||
# run interactive setup
|
|
||||||
docker-compose run --rm plume bash
|
# Setup your instance
|
||||||
cargo run
|
docker-compose run --rm plume plume instance new
|
||||||
# copy the env file and paste it in your host .env file
|
docker-compose run --rm plume plume users new --admin
|
||||||
cat .env
|
|
||||||
# leave the container
|
# Launch your instance for good
|
||||||
exit
|
|
||||||
# launch your instance for good
|
|
||||||
docker-compose up -d
|
docker-compose up -d
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -196,7 +225,7 @@ server {
|
||||||
listen 443 ssl http2;
|
listen 443 ssl http2;
|
||||||
listen [::]:443 ssl http2;
|
listen [::]:443 ssl http2;
|
||||||
server_name blog.example.org;
|
server_name blog.example.org;
|
||||||
|
|
||||||
access_log /var/log/nginx/access.log;
|
access_log /var/log/nginx/access.log;
|
||||||
root /home/plume/Plume/ ;
|
root /home/plume/Plume/ ;
|
||||||
|
|
||||||
|
@ -295,7 +324,7 @@ Description=plume
|
||||||
Type=simple
|
Type=simple
|
||||||
User=plume
|
User=plume
|
||||||
WorkingDirectory=/home/plume/Plume
|
WorkingDirectory=/home/plume/Plume
|
||||||
ExecStart=/home/plume/.cargo/bin/cargo run
|
ExecStart=/home/plume/.cargo/bin/plume
|
||||||
TimeoutSec=30
|
TimeoutSec=30
|
||||||
Restart=always
|
Restart=always
|
||||||
|
|
||||||
|
@ -339,7 +368,7 @@ This script can also be useful if you are using SysVinit.
|
||||||
### END INIT INFO
|
### END INIT INFO
|
||||||
|
|
||||||
dir="/home/plume/Plume"
|
dir="/home/plume/Plume"
|
||||||
cmd="/home/plume/.cargo/bin/cargo run"
|
cmd="/home/plume/.cargo/bin/plume"
|
||||||
user="plume"
|
user="plume"
|
||||||
|
|
||||||
name=`basename $0`
|
name=`basename $0`
|
||||||
|
@ -437,4 +466,4 @@ exit 0
|
||||||
|
|
||||||
## Acknowledgements
|
## 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
|
git pull origin master
|
||||||
|
cargo install --force && cargo install --path plume-cli --force
|
||||||
|
|
||||||
# If you are using sysvinit
|
# If you are using sysvinit
|
||||||
sudo service plume restart
|
sudo service plume restart
|
||||||
|
|
||||||
# If you are using systemd
|
# If you are using systemd
|
||||||
sudo systemctl restart plume
|
sudo systemctl restart plume
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue