Production checklist
Before launch
- [ ] HTTPS on the cabinet origin (terminate on nginx/caddy/cloud LB)
- [ ]
COOKIE_SECURE=true— cookies over HTTPS only - [ ]
SESSION_KEY— 32+ bytes, pinned in env (changing it invalidates all sessions) - [ ]
CA_DIR— on a persistent volume;secrets.keyfrom it must not be lost - [ ] Postgres — managed (RDS / Cloud SQL) or your own HA
- [ ] TSDB — a separate disk for
storageDataPath(retention affects size) - [ ] SMTP — configured (without it the console mailer prints to stdout, fit for dev only)
- [ ] A backup strategy for Postgres (state) + TSDB (the time-series store)
Resource sizing
Minimum for production:
- API: 2 vCPU / 4 GB RAM
- Postgres: 2 vCPU / 8 GB RAM + 50 GB SSD
- TSDB: 4 vCPU / 16 GB RAM + 500 GB SSD (for 30-day retention at 1000 series/host × 100 hosts)
- Cabinet: 1 vCPU / 1 GB RAM (Next.js prod build)