Deployment recipes
Every recipe here is the same two files and the same command. Pick the one that matches your setup:
| Recipe | When it fits |
|---|---|
| Single box | One machine runs everything. The default. |
| Raspberry Pi | A Pi 4 or 5 for a household or yourself. |
| Behind a reverse proxy | You already run nginx, Traefik, or Caddy for TLS. |
| External database | You want to use a Postgres you already run. |
| Tailscale only | Private access with real HTTPS and nothing exposed. |
- Install is the full walkthrough and the place to start. These pages are the short, host-specific notes on top of it.
- The same two files every time. You generate a
.envand adocker-compose.ymlfrom the setup builder, drop them in a folder, and rundocker compose up -d. What changes from one recipe to the next is host-specific: where the data lives, how the box is reached, and how HTTPS is terminated. - The recipes are not exclusive. A Raspberry Pi behind your existing
reverse proxy, pointed at an external Postgres, is three of these at once.
Read the pages that apply and combine the
.envchanges.