Deploy a personal self-hosted Pleroma instance that participates in the fediverse but does not allow new users to register.
Adapted from https://git.pleroma.social/pleroma/pleroma-docker-compose.
$ git clone https://github.com/quasarito/pleroma-compose.git
Modify the following environment settings in pleroma-compose.yml file:
services:
pleroma:
environment:
...
DB_PASS: '##REPLACE-ME##'
...
INSTANCE_NAME: My Pleroma
ADMIN_EMAIL: pleroma+admin@example.com
NOTIFY_EMAIL: pleroma+admin@example.com
DOMAIN: social.example.com
...
pleroma-db:
environment:
POSTGRES_PASSWORD: '##REPLACE-ME##'
...
Note:
INSTANCE_NAMEis the site name that appears in the upper-right corner.DOMAINis the fully-qualified domain name of the server.DB_PASS&POSTGRES_PASSWORDmust be the same value, obviously.
- Copy the image you want to use for your site background to
static/static/background.jpg. If you use a different filename, then you will need to edit thebackgroundproperty in theconfig.exsfile. - Copy the image you want to use for the logo that appears at the centre top
of the site to
static/static/logo.png. If you use a different filename, then you will need to edit thelogoproperty in theconfig.exsfile. - Copy the image you want to use for the browser tab icon to
static/favicon.png. The filename cannot be changed.
$ docker compose -f pleroma-compose.yml up -d
$ docker compose -f pleroma-compose.yml exec pleroma sh
# You are now in the pleroma container shell
$$ /opt/pleroma/bin/pleroma_ctl user new userid someone@example.com --admin
Note:
useridmust not be prefixed with '@'.- Repeat the command without the parameter
--adminto create a normal user account.
When the command finishes, a URL will be output to set the user's account password. Copy-paste the URL into a browser and set a secure password. You can login with the newly created account.
- The Postgres database is not accessible from the host computer. Uncomment
the
portssection under thepleroma-dbservice of thepleroma-compose.ymlfile to be able to connect to the database from the host. - The Pleroma docker image with tag
stableis used for deployment. It can be changed tolatestif you want the cutting edge version. Update theimageproperty for thepleromaservice of thepleroma-compose.ymlfile.
See README-nginx.md