- pnpm 10 workspace + TypeScript strict + ESLint flat + Prettier - CLAUDE.md as canonical brief - docs/tasks/ — 22 task briefs broken out by phase for sub-sessions - docs/decisions/ — ADR scaffold Implements task 01 (repo-init).
915 B
915 B
60 — Postgres backups (pg_dump cron)
Goal
Nightly compressed pg_dump of famapp-db (and authentik-db) to a host volume, with a retention policy.
Depends on
- 05
Scope
deploy/backups/directory committed.- Add a
famapp-backupservice to compose: small Alpine container withpostgresql-client+cron+ a script that runspg_dump -Fcagainst both DBs into/backups/<db>/<YYYY-MM-DD>.dump. - Retention: keep last 14 daily, last 8 weekly, last 6 monthly. Pure shell, no fancy tooling.
- Document restore procedure in
deploy/backups/README.md.
Out of scope
- Off-site replication (Matt's call; he can rsync
/backupselsewhere). - Encryption at rest (handled at the disk layer).
Acceptance criteria
- After a day, dump files exist for both DBs.
restore.sh <dump-file>script exists and works against a fresh DB.- Retention script keeps the right counts.