Skip to content

Backups

Define what gets backed up, how often, and how backups are verified.

Backups span every durable tier:

  • PostgreSQL — logical dumps plus WAL archiving for point-in-time recovery. This is the system of record (tenants, users, campaigns, leads, CDRs, audit).
  • MinIO — object replication or scheduled bucket sync of the get2dial bucket (audio assets, recordings, voicemail) to off-site storage.
  • Configuration.env and compose files kept in version control, with secrets in a vault (never committed).

Redis is intentionally not backed up — it holds reconstructible call context, pacing counters and presence.

Schedule and retention are environment-specific; document the actual cron/agent in your deployment. A common baseline:

PostgreSQL : daily logical dump, continuous WAL archive, 30-day retention
MinIO : nightly off-site sync, 30-day retention

See the Backup runbook for the step-by-step procedure and the Restore runbook for recovery.

  • A backup you have never restored is a hypothesis, not a backup — test restores.
  • Keep at least one copy off-site / in a separate failure domain.
  • Recordings and voicemail in MinIO are referenced by object key from Postgres rows; back up both tiers together so references stay valid.