blumeops/docs/changelog.d
Erich Blume c78b86c72c Add offsite backup for immich photo library to BorgBase (#315)
## Summary

- Adds a second borgmatic config (`photos.yaml`) that backs up `/Volumes/photos` (sifaka SMB mount, ~128 GB) to a dedicated BorgBase repo (`immich-photos`), running daily at 4 AM
- Separate launchd agent (`mcquack.eblume.borgmatic-photos`) so photo backups run independently from the main backup
- Refactors `borgmatic_metrics` script to support multiple repos with a `repo` Prometheus label
- Updates Grafana "Borg Backups" dashboard with a `repo` template variable so you can filter/compare repos
- Docs updated: `backups.md`, `borgmatic.md`

## Prerequisites (manual)

- [x] Create `immich-photos` repo on BorgBase with same SSH key
- [ ] Upgrade BorgBase plan to Small ($24/yr) if currently on free tier (128 GB exceeds 10 GB limit)
- [ ] After deploy: `borg init` the new repo (borgmatic does this automatically on first run)

## Test plan

- [ ] Dry run: `mise run provision-indri -- --check --diff --tags borgmatic,borgmatic_metrics`
- [ ] Deploy borgmatic role and verify both configs deployed
- [ ] Run `borgmatic --config ~/.config/borgmatic/photos.yaml create --verbosity 1` manually for first backup (will take hours)
- [ ] Verify metrics script collects from both repos: `~/.local/bin/borgmatic-metrics && cat /opt/homebrew/var/node_exporter/textfile/borgmatic.prom`
- [ ] Sync grafana-config in ArgoCD and verify dashboard repo selector works

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Reviewed-on: #315
2026-03-27 19:43:05 -07:00
..
+branch-cleanup-preserve.misc.md Add preserve/* branch protection and document Pyroscope blocker 2026-03-26 15:32:25 -07:00
+cv-doc-review.doc.md Review CV doc and close build-dep review gap 2026-03-27 07:12:38 -07:00
+homepage-v1.11.0.infra.md Upgrade Homepage container to v1.11.0 2026-03-26 10:17:36 -07:00
+nvidia-device-plugin-v0.19.0.infra.md Upgrade nvidia-device-plugin v0.18.2 → v0.19.0 and add reference card 2026-03-27 07:19:24 -07:00
+podnotready-lookback.infra.md Reduce PodNotReady alert lookback from 5m to 60s 2026-03-26 19:48:37 -07:00
+qart-tuner.feature.md Add QArt Tuner: QR code art generator with interactive web UI 2026-03-27 15:33:36 -07:00
+review-tailscale-setup.doc.md Review tailscale-setup tutorial: fix inaccuracies 2026-03-26 07:44:36 -07:00
+ringtail-post-deploy-maintenance.infra.md Add ringtail post-deploy maintenance: kernel check, generation pruning, GC 2026-03-27 07:55:45 -07:00
+tune-argocd-outofsync-alert.infra.md Tighten ArgoCDAppOutOfSync alert timing to clear faster after sync 2026-03-26 15:44:09 -07:00
+update-ringtail-flake.infra.md Update ringtail flake inputs (nixpkgs, home-manager) 2026-03-27 07:37:43 -07:00
.gitkeep Add towncrier changelog system (#86) 2026-02-03 11:48:13 -08:00
deploy-snowflake-proxy.feature.md Deploy Tor Snowflake proxy on ringtail (#311) 2026-03-24 20:51:40 -07:00
feature-borgmatic-all-pg-backups.infra.md Add borgmatic backups for authentik and immich databases (#314) 2026-03-27 16:59:58 -07:00
immich-photos-backup.feature.md Add offsite backup for immich photo library to BorgBase (#315) 2026-03-27 19:43:05 -07:00
upgrade-external-secrets-v2.infra.md Upgrade External Secrets Operator v2.2.0 + migrate Helm to kustomize (#312) 2026-03-25 15:56:41 -07:00