docs / operations / deployment

Deployment

The compose stack, external proxies, and single-host mode.

The default stack is issuer + postgres + caddy via Docker Compose, with Caddy terminating TLS on ports 80/443 (automatic HTTPS). All persistent state is bind-mounted to ./data.

             ┌────────────────────────── your host ──────────────────────────┐

Internet ──▶  caddy (TLS, :80/:443)  ──▶  issuer (:8080, API + /admin + workers)


                                              postgres (:5432)

Behind an existing proxy

Already running nginx? Install with --proxy external (or OURO_PROXY_MODE=external): the issuer publishes on a local port and the installer emits a reference nginx config.

Single-host mode

For small deployments, SQLite replaces Postgres — same binary, schema still auto-migrates on startup.

Found an issue in these docs? Edit this page on GitHub ↗