docs(backups): restore test from R2 passes (step 8) #43

Merged
adam merged 1 commit from docs/backup-restore-test into main 2026-10-24 20:40:17 -05:00
Owner

Backup step 8 is done: the restore test from R2 passed.

  • Nightly dumps and Backrest snapshots ran on their own for 10-23 and 10-24 (e80d9d3f, 77e48011). The first scheduled prune ran 10-24 04:00.
  • I restored postgres.sql and pocket-id.db from 77e48011. The restored dump has the same sha256 as the copy on the array.
  • The Postgres dump loaded into a throwaway postgres:18 container (no network) with 0 errors. All 5 databases came back, and Forgejo matches live (16 repos, 3 users, 471 issues, 315 PRs).
  • The pocket-id SQLite copy passes integrity_check and matches live.
  • The throwaway container and restored files are deleted.

Docs: backups.md gets a restore section with the procedure and a warning: never replay a pg_dumpall --clean against the live cluster, because it drops every database first. rebuild.md now shows 8 of 10 done, NEXT = step 9 (HA backups, your HA UI).

🤖 Generated with Claude Code

Backup step 8 is done: the restore test from R2 passed. - Nightly dumps and Backrest snapshots ran on their own for 10-23 and 10-24 (`e80d9d3f`, `77e48011`). The first scheduled prune ran 10-24 04:00. - I restored `postgres.sql` and `pocket-id.db` from `77e48011`. The restored dump has the same sha256 as the copy on the array. - The Postgres dump loaded into a throwaway `postgres:18` container (no network) with **0 errors**. All 5 databases came back, and Forgejo matches live (16 repos, 3 users, 471 issues, 315 PRs). - The pocket-id SQLite copy passes `integrity_check` and matches live. - The throwaway container and restored files are deleted. Docs: `backups.md` gets a restore section with the procedure and a warning: never replay a `pg_dumpall --clean` against the live cluster, because it drops every database first. `rebuild.md` now shows 8 of 10 done, NEXT = step 9 (HA backups, your HA UI). 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Second nightly snapshot and first prune ran on schedule. Restored
postgres.sql + pocket-id.db from snapshot 77e48011; the dump matches
the array copy by sha256, loads into a throwaway postgres:18 with 0
errors, and Forgejo/pocket-id counts match live. Records the restore
procedure and the never-replay-pg_dumpall-on-live rule.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
adam merged commit 013aa7b038 into main 2026-10-24 20:40:17 -05:00
Sign in to join this conversation.
No reviewers
No labels
lab-honing
No milestone
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
adam/foundry!43
No description provided.