Skip to content
PostMTA Hosted
StatusSign inOpen panelRequest access
Open menu

Docs

Open in panel → /app · appliance

Backup & restore

PostMTA Hosted ships automated appliance backup with GPG-detached signatures and a restore drill. This is the operator-facing contract; the full runbook lives in the appliance repo under docs/ops/PRODUCTION.md.

What ships

Piece Role Matrix
scripts/backup-appliance.sh Postgres dump + configs + Kumo managed tar; optional GPG sign M53b
WAL / incremental mode Tighter RPO when postmta-hosted-backup-wal.timer is enabled M53c
scripts/restore-appliance-drill.sh --verify-gpg Refuses extract when signature fails M66
postmta-hosted-backup.timer Daily oneshot (optional enable)
postmta-hosted-backup-wal.timer Hourly WAL-mode (off by default)

RPO claim: ≤ 24h with the daily timer enabled. Take an extra backup before upgrades. Lab artifacts land under artifacts/qa/; on-site default is /var/backups/postmta-hosted.

Enable the timer

sudo systemctl enable --now postmta-hosted-backup.timer

Units ship in infra/systemd/.

Restore drill

bash scripts/restore-appliance-drill.sh --check
bash scripts/restore-appliance-drill.sh --verify-gpg
bash scripts/check-backup-gpg.sh   # sign + tamper + reject (MOCK gpg OK)

Last verified: Sun Jul 12 2026 17:00:00 GMT-0700 (Pacific Daylight Time). Cross-link maintained byscripts/check-docs-drift.sh (M54).

← All docs