Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Docker Compose

The supplied Compose stack runs PostgreSQL, Plamenu, and Caddy. It requires Docker Engine, Compose, and a release image. See release status before using the download examples.

Prepare the deployment

Replace v0.6.0 with the selected release tag and copy its examples:

# Replace v0.6.0 with the release you want to install.
git clone --branch v0.6.0 --depth 1 \
  https://codefloe.com/plamenu/plamenu.git
cd plamenu
cp deploy/.env.example deploy/.env
cp deploy/plamenu.toml.example deploy/plamenu.toml
chmod 600 deploy/.env deploy/plamenu.toml

Before starting:

  1. Put the release’s immutable image@sha256:… reference in deploy/.env.
  2. Replace the PostgreSQL password in .env and plamenu.toml with the same random value.
  3. Set the social and Webxdc domains.
  4. Set encryption_secret to openssl rand -hex 32 and escrow it separately from PostgreSQL and media backups.
  5. If 172.30.0.0/24 overlaps another network, change it in both files.
  6. Configure SMTP before enabling registration or password reset.

Validate and start

docker compose --env-file deploy/.env -f deploy/compose.yml config
docker compose --env-file deploy/.env -f deploy/compose.yml up -d
docker compose --env-file deploy/.env -f deploy/compose.yml ps
curl -fsS https://social.example.com/ready

All three services should become healthy and the public /ready request must succeed. Continue with the first administrator, using the OCI command shown there.