Prerequisites
You need a Linux host (a VPS or a home server) with:
- Docker Engine 24+ and the Docker Compose v2 plugin (
docker compose, not the olddocker-compose). - git, to clone the repository.
- openssl, to generate secrets. It is preinstalled on most distributions; if not, the commands in this guide also show a Python fallback.
- Roughly 2 GB of RAM free and a few GB of disk for the database, cache, and the object store.
Check what you have:
sh
docker --version
docker compose version
openssl version
git --versionIf docker compose version fails, install the Compose plugin for your distribution before continuing.
Optional, for a public deployment
- A domain name pointing at your server.
- A reverse proxy (Caddy, nginx, or Traefik) to terminate TLS. This is covered in Reverse proxy and HTTPS. You can skip it for a purely local setup and reach the app on
http://localhost:8082.
Run as a non-root user
Add your user to the docker group (sudo usermod -aG docker "$USER", then log out and back in) so you do not have to run every command with sudo.