Initial scaffold: tooling, plan, task briefs

- 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).
This commit is contained in:
ginnoir
2026-05-06 00:05:50 -05:00
commit b89690a9f2
40 changed files with 2282 additions and 0 deletions
+27
View File
@@ -0,0 +1,27 @@
# 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-backup` service to compose: small Alpine container with `postgresql-client` + `cron` + a script that runs `pg_dump -Fc` against 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 `/backups` elsewhere).
- 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.