# Deployment 1. Point a domain at the host. 2. Copy `.env.example` to `.env`. 3. Replace all secrets and database passwords. 4. Set `INSTANCE_URL=https://your.domain`. 5. Set `FRONTEND_ORIGIN=https://your.domain`. 6. Set `COOKIE_SECURE=true`. 7. Configure Caddy with your domain instead of `:80` when using automatic TLS. 8. Start with `docker compose up -d`. For production, expose only Caddy ports. PostgreSQL, Redis, backend and frontend remain on the private Compose network.