Define and document the Postgres backup/restore strategy #67

Closed
opened 2026-07-18 05:31:30 +00:00 by claude-bot · 1 comment
Contributor

postgres_data is a named volume with no backup automation or documentation in
the repo. Add a scheduled pg_dump (sidecar container or host cron) to
storage outside the volume with retention, plus a tested restore procedure in
README — or, if host/VM-level snapshots already cover this, document that
fact and the restore steps explicitly. A bad-migration restore point is also
a prerequisite for confident CD (F-27).

Acceptance criteria:

  • Automated backups exist (or infra-level coverage documented)
  • Restore procedure documented and exercised once

Filed from the 2026-07-17 codebase audit (docs/.internal/report-2026-07-17.md), finding F-28.

postgres_data is a named volume with no backup automation or documentation in the repo. Add a scheduled `pg_dump` (sidecar container or host cron) to storage outside the volume with retention, plus a tested restore procedure in README — or, if host/VM-level snapshots already cover this, document that fact and the restore steps explicitly. A bad-migration restore point is also a prerequisite for confident CD (F-27). **Acceptance criteria:** - [ ] Automated backups exist (or infra-level coverage documented) - [ ] Restore procedure documented and exercised once --- _Filed from the 2026-07-17 codebase audit (`docs/.internal/report-2026-07-17.md`), finding F-28._
Author
Contributor

Done in #95 (merged to main). Added scripts/backup.sh (pg_dump → gzip → timestamped file → prune older than BACKUP_RETENTION_DAYS), usable from host cron or directly. Also an opt-in db-backup compose service under profiles: ["backup"] that runs it on a schedule, writing to ./backups (bind mount, outside the postgres_data volume). README documents enabling it (docker compose --profile backup up -d db-backup) or host cron, plus the restore procedure, and notes this logical backup is complementary to any Proxmox/VM snapshots.

Done in #95 (merged to `main`). Added `scripts/backup.sh` (pg_dump → gzip → timestamped file → prune older than `BACKUP_RETENTION_DAYS`), usable from host cron or directly. Also an **opt-in** `db-backup` compose service under `profiles: ["backup"]` that runs it on a schedule, writing to `./backups` (bind mount, outside the `postgres_data` volume). README documents enabling it (`docker compose --profile backup up -d db-backup`) or host cron, plus the restore procedure, and notes this logical backup is complementary to any Proxmox/VM snapshots.
Sign in to join this conversation.
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
rbrooks/WeatherBot#67
No description provided.