Advanced configurations¶
The simple install is compose.yaml
and an optional .env: docker compose up -d, then the setup wizard. It needs nothing from this section.
Everything here is optional and is added with one more file, never by editing compose.yaml. Compose
merges several files, so the options combine:
You need Docker Compose 2.24 or newer (the overlays use !override).
| I want… | Add | Guide |
|---|---|---|
| a PostgreSQL I already run, instead of SQLite | advanced/postgres.yaml |
PostgreSQL |
| a PostgreSQL container beside it | advanced/postgres-bundled.yaml (instead of the line above) |
PostgreSQL |
| my own proxy to take the HTTPS (nginx, Traefik, Caddy, Nginx Proxy Manager) | advanced/proxy.yaml |
A proxy in front |
| every backup copied to S3, B2, SFTP or a server | advanced/backup-remote.yaml |
Remote backups |
| sign-in with Authentik, Pocket ID, Keycloak or Google | advanced/oidc/authentik.yaml, advanced/oidc/pocket-id.yaml, or just variables |
Your own sign-in provider |
Variables go in the same .env as always; each guide lists the ones it needs, and the complete list is the
environment variable reference.
What each guide says it checked¶
Every guide ends with what was run and what was only read. For the options that run on your machine, the
repository checks them on every change: scripts/validate.sh runs docker compose config on every overlay
and on the combinations above, and scripts/advanced-smoke.sh starts the PostgreSQL overlay on PostgreSQL
16, 17 and 18 and the proxy overlay behind a real nginx.