Self-hosting
Overview
Components, local development, and deployment topology.
Components
- control-plane (Go + Postgres) — REST API,
ask,metrics, workers. - edge (Go + CertMagic) — on-demand TLS + reverse proxy.
- Postgres — the system of record.
- Optional: console (developer dashboard) and demo (host page).
See ARCHITECTURE.md in the repository for the full module map.
Local development
cd app
make dev # native processes: Postgres + control-plane + edge + demo
make test # integration suite (scripts/it.sh)For real environments, deploy/ contains Dockerfiles, compose, and k8s/.
Deployment topology
- Run Postgres and apply
db/*.sql. - Run the control-plane; expose only
/v1/*publicly.- Keep
/internal/askreachable only from the edge. - Keep
/metricsreachable only from your scraper.
- Keep
- Run the edge with a public IP; point customer domains at it.
- Set
EDGE_ISSUER=letsencrypt(withEDGE_ACME_EMAIL) for public certs; dev uses an internal CA.
- Set
- Point the edge at the control-plane via
CONTROLPLANE_URL.
Full environment-variable tables are on the configuration page.