Backup Policy

Daily automated backups from indri to Sifaka NAS.

Schedule

TimeFrequencySystem
2:00 AMDailyborgmatic

What Gets Backed Up

Directories

PathDescriptionPriority
~/code/personal/zkZettelkasten notes (migrating into heph docs)Critical
~/forgejoGit forge data — repositories, LFS, custom/conf. The live forgejo.db is excluded here and dumped separately belowCritical
~/.config/borgmaticBackup configHigh
~/DocumentsPersonal documents (includes 1password encrypted export)High

Databases

DatabaseClusterHostMethod
minifluxblumeops-pgpg.ops.eblu.me:5434pg_dump stream
teslamateblumeops-pgpg.ops.eblu.me:5434pg_dump stream
authentikblumeops-pgpg.ops.eblu.me:5434pg_dump stream
paperlessblumeops-pgpg.ops.eblu.me:5434pg_dump stream
immichimmich-pgpg.ops.eblu.me:5433pg_dump stream
forgejo— (SQLite)indri localbefore-backup sqlite3 .backup (WAL-safe online snapshot)
heph— (SQLite)indri localbefore-backup sqlite3 .backup (WAL-safe online snapshot)
mealie— (SQLite)k8s podkubectl exec sqlite3 .backup
shower— (SQLite)k8s pod (ringtail)kubectl exec sqlite3 .backup
horkos— (SQLite)k8s pod (ringtail)in-pod python3 sqlite3 .backup
navidrome— (SQLite)k8s pod (ringtail)navidrome ND_BACKUP_* snapshot, newest ferried off PVC

K8s Pod Data Directories

PodDataMethod
talosAll session transcripts + service state (meta.json, crons.json, settings.json)in-pod tar, streamed back
paperlessDocument library — originals, archived, thumbnails (NFS media PVC on sifaka)in-pod tar, streamed back

Immich Photo Library (Offsite Only)

The immich photo library lives on sifaka at /volume1/photos (SMB-mounted on indri as /Volumes/photos). Since sifaka is already the local backup target, photos are backed up to BorgBase offsite only — not back to sifaka.

PropertyValue
Config~/.config/borgmatic/photos.yaml
ScheduleDaily at 4:00 AM (offset from main backup)
Source/Volumes/photos (sifaka SMB mount)
TargetBorgBase borgbase-immich-photos repo
Size~128 GB

Uses the same encryption passphrase and SSH key as the main borgmatic config.

Sifaka-Native Data

Bulk media lives directly on sifaka (music files served by navidrome, video via jellyfin). See sifaka for data protection details. Note this covers only the media filesnavidrome’s own database (users, play counts, playlists) lives on a ringtail PVC and is backed up separately via the Databases table above. The paperless document library (/volume1/paperless) is additionally backed up offsite via the in-pod tar dump above, so it is not only RAID-5-protected.

What Is NOT Backed Up

DataReason
ZIM archives (~/transmission/)Re-downloadable via torrent
Prometheus metricsEphemeral, in k8s PVC
Loki logsEphemeral, in k8s PVC
devpi cache (~/devpi/server-dir/ on indri)Re-fetchable from PyPI on first request

Retention Policy

PeriodRetention
Daily7 backups
Monthly12 backups
Yearly1000 backups

Backup Targets

RepositoryLocationLabelBacks up
/Volumes/backups/borg/sifaka (local NAS)sifaka-borg-backupsindri data
ssh://u3ugi1x1@...repo.borgbase.com/./repoBorgBase (offsite)borgbase-offsiteindri data
ssh://xcrtl5tg@...repo.borgbase.com/./repoBorgBase (offsite)borgbase-immich-photosimmich photos

Monitoring

Metrics exposed to prometheus:

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

Dashboard: “Borgmatic Backups” in grafana