- Migrate all 127 non-reserved docs to OKF v0.1 frontmatter (type/description/tags/timestamp); fix 13 YAML issues, 2 duplicate-FM blocks, strip reserved-page FM - Restructure log.md to OKF (## YYYY-MM-DD, newest-first) - Fact-check against scripts/AGENTS.md ground truth: fix 6 false 'Active' banners on retired runbooks, 96->114 GiB GTT, deployment.md vs deploy-plan.py/deploy-remote.sh, Deployment Flow frank-medium=Quadlet, Calibre 9.9.0->9.15.0 + CVE-2025-7404 conflation, Copyparty v1.20.24, RomM 5.3.0 breaking change - Move *arr docs to new FrankBook-Pro/ section (git mv, link-safe) - Write active runbook bodies from ground truth (frank-large, frank-small) - Add 3 research briefs + HTML report: Local TTS and Voice Cloning, AI Job Search and Resume Tools, Most Popular Self-Hosted AI Apps (Jun-Sep 2026) - Add upstream-version rows to ComfyUI/OpenWebUI/Hermes app docs - All 336 tests pass; 136 pages, 0 unresolved wikilinks
47 lines
1.4 KiB
Markdown
47 lines
1.4 KiB
Markdown
---
|
|
type: reference
|
|
description: "Off-site backup plan for the bind-mounted data on both hosts."
|
|
tags:
|
|
- research
|
|
timestamp: 2026-08-28
|
|
---
|
|
|
|
# Backblaze Integration
|
|
|
|
Off-site backup plan for the bind-mounted data on both hosts. **Deferred**: research only, not implemented yet.
|
|
|
|
## Goal
|
|
|
|
Back up critical data to Backblaze B2:
|
|
- Calibre library (Dankserver)
|
|
- ComfyUI models (Dankclaw)
|
|
- Gitea data, repos, DB (Dankclaw)
|
|
- Homepage/stack configs (this repo — already versioned in git)
|
|
|
|
## Approach (research direction)
|
|
|
|
| Option | Fit |
|
|
|--------|-----|
|
|
| `restic` + B2 | Best fit: dedupe, encryption, snapshots, low cost. Single static binary, works with podman host. |
|
|
| `borg` + borgbase | Alternative; borgbase is more expensive per TB than B2. |
|
|
| rclone + B2 | Good for file sync, no snapshot/dedupe semantics. |
|
|
| podman volume driver for B2 | Niche, immature. Not recommended. |
|
|
|
|
## Shape of the Implementation (future)
|
|
|
|
- `scripts/backup.sh` on each host, run by systemd timer or cron.
|
|
- `restic -r b2:bucket:path backup /opt/...`
|
|
- `RESTIC_PASSWORD` in the host `.env`, never in the repo.
|
|
- Restore procedure documented once the backup job exists.
|
|
|
|
## Next Steps
|
|
|
|
1. Create a B2 bucket + application key.
|
|
2. Draft `scripts/backup.sh` and a systemd timer unit.
|
|
3. Run a test restore.
|
|
|
|
## See Also
|
|
|
|
- [[Storage Policy]] — what gets backed up
|
|
- [[Gitea]] — the existing backup procedure (tar / pg_dump)
|