blumeops/docs/reference/storage/backups.md
Erich Blume ce1f696bd8 Add Reference section with 24 technical reference cards
Phase 2 of documentation restructuring. Creates docs/reference/ with:

Services (16):
- alloy, argocd, borgmatic, 1password, forgejo, grafana
- jellyfin, kiwix, loki, miniflux, navidrome, postgresql
- prometheus, teslamate, transmission, zot

Infrastructure (3):
- hosts - Device inventory
- tailscale - ACLs, groups, tags
- routing - DNS domains and port mappings

Kubernetes (2):
- cluster - Minikube specs
- apps - ArgoCD application registry

Storage (2):
- sifaka - Synology NAS configuration
- backups - Backup policy

All cards use wiki-links for cross-referencing and include YAML
frontmatter with title and tags for Quartz.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 13:22:19 -08:00

2 KiB

title tags
Backup Policy
storage
backup

Backup Policy

Daily automated backups from infrastructure/hosts to storage/sifaka NAS.

Schedule

Time Frequency System
2:00 AM Daily services/borgmatic

What Gets Backed Up

Directories

Path Description Priority
~/code/personal/zk Zettelkasten notes Critical
/opt/homebrew/var/forgejo Git repositories Critical
~/.config/borgmatic Backup config High
~/Documents Personal documents High
~/Pictures Photos Medium

Databases

Database Host Method
miniflux services/postgresql pg_dump stream
teslamate services/postgresql pg_dump stream

What Is NOT Backed Up

Data Reason
ZIM archives (~/transmission/) Re-downloadable via torrent
Prometheus metrics Ephemeral, in k8s PVC
Loki logs Ephemeral, in k8s PVC
devpi cache Re-fetchable from PyPI

Retention Policy

Period Retention
Daily 7 backups
Monthly 12 backups
Yearly 1000 backups

Backup Target

Repository: /Volumes/backups/borg/ on storage/sifaka

Monitoring

Metrics exposed to services/prometheus:

  • borgmatic_up - Repository accessible
  • borgmatic_last_archive_timestamp - Last backup time
  • borgmatic_repo_deduplicated_size_bytes - Disk usage

Dashboard: "Borgmatic Backups" in services/grafana

Recovery

# List archives
ssh indri 'mise x -- borgmatic list'

# Extract specific path from latest
ssh indri 'mise x -- borgmatic extract --archive latest --path /some/path'

# Check repository health
ssh indri 'mise x -- borgmatic check'