Backup and restore
oc8's system of record is PostgreSQL. Redis holds queues and ephemeral state — it is not included in standard backups and can be empty after restore.
Summary
- Back up Postgres regularly (
pg_dump, compressed). - Store dumps encrypted off-host with checksums.
- Rehearse restore into a verification database before you need it.
- Recover live only with explicit authorisation — destructive to current DB.
Full runbook
Follow the step-by-step pilot procedure:
→ Pilot backup and restore runbook
It includes:
- Preconditions and encryption expectations
- Backup commands with SHA-256 checksum
- Safe restore rehearsal into
oc8_restore_verify - Live recovery steps and what not to do (
docker compose down -v)
When to run backups
- Before inviting pilot users
- After every schema migration
- At least monthly during active pilot use
- Before major upgrades (
git pull && docker compose up -d --build)
After restore
Verify:
/healthreturns OK- Login works with your configured accounts
- Expected tenants and agents appear
GET /api/v1/audit/integrityif HMAC audit is enabled