Self-hosting
Health & monitoring
Health checks and log retention.
Health endpoint
GET http://<api>/healthA deep health check — it verifies database connectivity, not just that the
process is up. It returns 503 when the database is unreachable, which is what the
Compose health checks rely on to decide a service is ready.
Logs
Container logs are JSON-file capped at 10 MB × 3 files per service, so a busy instance won't fill the disk with logs.
pnpm docker:logs # tail all services
docker compose logs -f server # one serviceWhat to watch
/healthon the API — the single best liveness/readiness signal.- Postgres and object-store disk usage — attachment bytes live in RustFS/S3; pair both with backups.
- Caddy logs (production) — TLS issuance and proxy errors.