Installing Plume (fediverse blog platform)
Hi, this is just a quick tutorial to install Plume on Debian.
Step 1: Installing dependencies
First let's install the dependencies for Plume. Actually it's just the database because we're gonna use the precompiled binary for this tutorial.
Step 2: Installing plume binaries
Now let's download all the binaries.
Step 3: Configure
Now let's setup the database:
Then create the .env
file for the configuration:
Paste and change the following configuration:
DATABASE_URL=postgres://plume:PASSWORD@127.0.0.1:5432/plume
MIGRATION_DIRECTORY=migrations/postgres
BASE_URL=DOMAIN
And set the secret key using openssl
Run the commands to migrate the database and create the instance:
Step 4: Add SystemD service file
Let's open the plume.service
file:
And paste the following content:
[Unit]
Description=plume
[Service]
Type=simple
WorkingDirectory=/var/www/plume
ExecStart=/var/www/plume/bin/plume
TimeoutSec=30
Restart=always
[Install]
WantedBy=multi-user.target
Enable and run the file:
Step 5: Configuring the reverse proxy
Create the file plume.conf
And paste the following content:
server {
listen 80;
listen [::]:80;
server_name plume.example.tld;
return 301 https://plume.example.tld$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
location / {
proxy_pass http://localhost:7878;
proxy_set_header Host $host;
proxy_set_header Connection $http_connection;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Scheme $scheme;
proxy_buffering off;
}
include /etc/nginx/snippets/letsencrypt.conf;
server_name plume.example.tld;
ssl_certificate /etc/letsencrypt/live/plume.example.tld/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/plume.example.tld/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/plume.example.tld/fullchain.pem;
access_log /var/log/nginx/plume.access.log;
error_log /var/log/nginx/plume.error.log;
}
Then enable this file by creating a symlink:
Step 6: Enable HTTPS
Make sure to create a new DNS entry for your domain name like this:
Domain | Type | IP |
---|---|---|
plume.example.tld | A | 12.34.56.78 |
plume.example.tld | AAAA | 2a02:a03f:a1de:4600:467a:291d:a613:c637 |
Then stop nginx and generate a certificate:
Conclusion
Congratulation, you just installed plume! You can now checkout your subdomain and plume should be there. You can then connect using your admin credentials and start writing and following blogs.