Add Kopia backup stack with Backblaze B2 offsite target.

Protects /config, selective labdata, and nightly DB dumps; documents homelab improvement plan briefs.
This commit is contained in:
ginnoir
2026-06-10 21:21:34 -05:00
parent 225078afbe
commit 7c7f6dfebc
47 changed files with 3105 additions and 1 deletions
@@ -0,0 +1,62 @@
# TB-001 — Backup stack
**Status:** in progress — stack drafted, needs B2 + Portainer deploy
**Your call:** **Do it**
---
## Talk first
> **Stop.** Don't read Reference until we've talked.
> In chat, say **"let's do TB-001"** or **"backup stack"**.
**In one sentence:** Set up automatic nightly backups of configs and databases, with a copy off the server.
**Why it came up:** Right now nothing backs up /config or your databases — ZFS snapshots don't help if the whole machine dies.
### Questions
1. Does losing valhalla overnight scare you, or is 'I'll deal with it' okay for now?
2. Do you already have offsite storage (Backblaze, Wasabi, another machine)?
3. Kopia (has a UI) vs Restic (simpler CLI) — want a recommendation or don't care?
### Your options
| Option | Meaning |
|--------|---------|
| **Do it** | We're doing this — I'll implement or walk you through it |
| **Later** | Keep on the list, not now |
| **Drop** | Remove from plan — totally fine |
| **Tweak** | Change scope; tell me how |
### What we decided
| | |
|---|---|
| **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 |
---
<details>
<summary>Reference (only open if we're doing it)</summary>
### Stack / files
`backup` new stack
### If we do it — rough steps
1. Pick Kopia or Restic
2. New stacks/backup/ with nightly schedule + ntfy on failure
3. Script dumps for all Postgres/MariaDB/CouchDB
4. One restore test so we know it works
### Done when
- [ ] Nightly backup runs without you
- [ ] At least one restore tested
- [ ] Failures ping ntfy
</details>