Daily backups of Postgres (smb-db), n8n, and Gitea + offsite copy + restore test #4

Open
opened 2026-07-16 10:37:37 +02:00 by mivanchenko · 1 comment
Owner

No automated backups today. Stand up a daily backup job on the homelab covering:

  • smb-db Postgres volume (CRM source of truth)
  • n8n data (workflows + credentials)
  • Gitea (repos + gitea-db-1 Postgres dump)

Requirements: scheduled (cron/systemd timer), retained N days, copied off-box (offsite/other host), and a documented + tested restore. A backup that's never restored isn't a backup.

Acceptance: a restore drill brings back the CRM DB and at least one n8n workflow on a scratch target.

No automated backups today. Stand up a daily backup job on the homelab covering: - `smb-db` Postgres volume (CRM source of truth) - n8n data (workflows + credentials) - Gitea (repos + `gitea-db-1` Postgres dump) **Requirements:** scheduled (cron/systemd timer), retained N days, **copied off-box** (offsite/other host), and a **documented + tested restore**. A backup that's never restored isn't a backup. **Acceptance:** a restore drill brings back the CRM DB and at least one n8n workflow on a scratch target.
mivanchenko added the opsinfra labels 2026-07-16 10:37:37 +02:00
Author
Owner

Partial: the smb-db Postgres portion already exists — deploy/backup/smb-db-backup.sh (pg_dump + gzip, 14-day retention, cron on the homelab). Remaining scope for this issue: n8n data + Gitea (repos + gitea-db-1 dump) coverage, an offsite copy, and a documented + tested restore.

Partial: the smb-db Postgres portion already exists — `deploy/backup/smb-db-backup.sh` (`pg_dump` + gzip, 14-day retention, cron on the homelab). Remaining scope for this issue: **n8n** data + **Gitea** (repos + `gitea-db-1` dump) coverage, an **offsite** copy, and a **documented + tested restore**.
mivanchenko added the needs-triage label 2026-07-23 10:31:46 +02:00
mivanchenko added the enhancement label 2026-07-23 10:48:02 +02:00
Sign in to join this conversation.