Mark TB-001 backup stack complete.

Kopia+B2 deployed, cron scheduled, ntfy wired, restore tests passed.
This commit is contained in:
ginnoir
2026-06-10 22:17:29 -05:00
parent c053f285b8
commit d5a54b24cc
4 changed files with 10 additions and 10 deletions
+2 -2
View File
@@ -18,7 +18,7 @@ Before any phase or task, we should answer:
| | |
|---|---|
| **Priority theme** | Backups (TB-001 in progress) |
| **Priority theme** | Backups done (TB-001 complete) |
| **Explicitly dropped** | _(none yet)_ |
| **Notes** | _(conversation notes go here)_ |
@@ -32,7 +32,7 @@ Each link opens an **interview-first** task brief. The conversation is the task.
| Say this… | About |
|-----------|--------|
| [TB-001](tasks/TB-001-backup-stack.md) | Automated backups — you don't have any yet |
| [TB-001](tasks/TB-001-backup-stack.md) | Automated backups — **done** (Kopia + B2) |
| [TB-033](tasks/TB-033-public-surface-audit.md) | What's actually public on the internet? |
| [TB-003](tasks/TB-003-recyclarr.md) | Sync *arr quality settings automatically |
| [TB-004](tasks/TB-004-pin-infra-tags.md) | Stop `:latest` from breaking databases |
+1 -1
View File
@@ -34,7 +34,7 @@ Parent: [PLAN-BRIEF.md](../PLAN-BRIEF.md) · Template: [_TEMPLATE.md](_TEMPLATE.
| ID | One line | Brief |
|----|----------|-------|
| TB-001 | Automated backups | [](TB-001-backup-stack.md) |
| TB-001 | Automated backups | [](TB-001-backup-stack.md) |
| TB-002 | jd.ginnoir.com | [](TB-002-jd-caddy-block.md) |
| TB-003 | Recyclarr | [](TB-003-recyclarr.md) |
| TB-004 | Pin infra tags | [](TB-004-pin-infra-tags.md) |
@@ -1,6 +1,6 @@
# TB-001 — Backup stack
**Status:** in progress — stack drafted, needs B2 + Portainer deploy
**Status:** done — deployed 2026-06-11
**Your call:** **Do it**
---
@@ -34,8 +34,8 @@
| | |
|---|---|
| **Decision** | Do it |
| **Notes** | Kopia + B2 TBD. `/config` + dumps (RomM DB). labdata: gitea, minio, romhacks, romm/assets (saves). **Skip:** entire `/storage1/Emulation` (legacy), romm/resources (art), registry, incoming. See `SCOPE.md`. |
| **Date** | 2026-06-10 |
| **Notes** | Kopia Backblaze B2 (`ginnoir-backup`). Portainer stack #29. Scope per `stacks/backup/SCOPE.md`. UI: `backup.ginnoir.com`. ntfy topic `backup`. SQL dump + Kopia snapshot restore tested. |
| **Date** | 2026-06-10 (decided) · 2026-06-11 (deployed) |
---
@@ -55,8 +55,8 @@
### Done when
- [ ] Nightly backup runs without you
- [ ] At least one restore tested
- [ ] Failures ping ntfy
- [x] Nightly backup runs without you (cron 02:50 dumps, 03:00 snapshots)
- [x] At least one restore tested (postgres_resume dump + Gitea repos snapshot from B2)
- [x] Failures ping ntfy (topic `backup`; test ping verified)
</details>
+1 -1
View File
@@ -26,7 +26,7 @@ Kopia → Backblaze B2. Backs up `/config`, **selected** `labdata` paths (see `S
- UI: https://backup.ginnoir.com (LAN/Tailscale) — username `kopia`, password = `KOPIA_REPOSITORY_PASSWORD` in `stack.env`
- Subscribe phone to ntfy topic `backup` (or path in `NTFY_URL`)
- **Restore test** (do once): pick a small dump from `/config/backup/dumps/`, restore to a throwaway container
- **Restore test** (done 2026-06-11): `postgres_resume` SQL dump + Gitea repos Kopia snapshot from B2
## Schedule