Mark TB-001 backup stack complete.
Kopia+B2 deployed, cron scheduled, ntfy wired, restore tests passed.
This commit is contained in:
@@ -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 |
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user