Skip to content

Runbooks

Operational runbooks live next to the backend code, in NexisOmni/docs/ops/. This page indexes them and captures the cross-cutting operational gotchas worth knowing before you touch a live environment.

  • Tenant graduation (docs/ops/tenant-graduation.md) - promoting a shared tenant to a dedicated database, including the crash-recovery procedure.
  • Deploy runbook (docs/ops/deploy-runbook.md) - the hand-rolled Caddy + docker-compose stack (an alternative to the Dokploy path in Deploying).

If Docker Desktop restarts, the host port 5432 can land inside a Windows excluded port range, and PostgreSQL then cannot publish it. The fix is to reserve the port explicitly with a persistent netsh int ipv4 add excludedportrange entry after stopping WinNAT.

Verified, step-by-step operational procedures (provisioning a tenant, rotating the JWT key, restoring from backup) will be collected here as they are written and tested.