From 9e379c008e7ef655a6f92c1b0654af1b79edbd39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Kr=C3=BCger?= Date: Sat, 8 Nov 2025 21:01:31 +0100 Subject: [PATCH] feat: update Restic backup configuration MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Updated Restic backup system to include all current services: **Volume Mounts Added:** - vpn_etc_wireguard (WireGuard VPN configuration) - netdata_config (Netdata monitoring configuration) **Backup Plans Updated:** - Replaced gotify-backup with mattermost-backup - Now backs up: mattermost_config, mattermost_data, mattermost_plugins - Retention: 7 daily, 4 weekly, 6 monthly, 2 yearly - Added tandoor-backup - Backs up: tandoor_staticfiles, tandoor_mediafiles - Schedule: 5 AM daily - Retention: 7 daily, 4 weekly, 6 monthly - Added vpn-backup - Backs up: vpn_etc_wireguard (critical for VPN restoration) - Schedule: 9 AM daily - Retention: 7 daily, 4 weekly, 12 monthly, 3 yearly - Added netdata-backup - Backs up: netdata_config - Schedule: 10 AM daily - Retention: 7 daily, 4 weekly, 3 monthly **Backup Schedule:** - 2 AM: postgres, joplin - 3 AM: redis - 4 AM: directus (uploads, bundle) - 5 AM: awesome, mattermost, tandoor - 6 AM: scrapy, n8n - 7 AM: filestash, linkwarden - 8 AM: letsencrypt, vaultwarden - 9 AM: jellyfin, vpn - 10 AM: netdata 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- restic/compose.yaml | 8 ++++++ restic/config.json | 60 ++++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 65 insertions(+), 3 deletions(-) diff --git a/restic/compose.yaml b/restic/compose.yaml index fa31382..91d4631 100644 --- a/restic/compose.yaml +++ b/restic/compose.yaml @@ -35,6 +35,8 @@ services: - backup_vaultwarden_data:/volumes/vaultwarden_data:ro - backup_joplin_data:/volumes/joplin_data:ro - backup_jelly_config:/volumes/jelly_config:ro + - backup_vpn_etc_wireguard:/volumes/vpn_etc_wireguard:ro + - backup_netdata_config:/volumes/netdata_config:ro environment: TZ: ${TIMEZONE:-Europe/Berlin} @@ -134,6 +136,12 @@ volumes: backup_jelly_config: name: jelly_config external: true + backup_vpn_etc_wireguard: + name: vpn_etc_wireguard + external: true + backup_netdata_config: + name: netdata_config + external: true networks: compose_network: diff --git a/restic/config.json b/restic/config.json index c332079..e1dcf58 100644 --- a/restic/config.json +++ b/restic/config.json @@ -99,9 +99,13 @@ } }, { - "id": "gotify-backup", + "id": "mattermost-backup", "repo": "hidrive-backup", - "paths": ["/volumes/gotify_data"], + "paths": [ + "/volumes/mattermost_config", + "/volumes/mattermost_data", + "/volumes/mattermost_plugins" + ], "schedule": { "cron": "0 5 * * *" }, @@ -109,7 +113,26 @@ "policyTimeBucketed": { "daily": 7, "weekly": 4, - "monthly": 3 + "monthly": 6, + "yearly": 2 + } + } + }, + { + "id": "tandoor-backup", + "repo": "hidrive-backup", + "paths": [ + "/volumes/tandoor_staticfiles", + "/volumes/tandoor_mediafiles" + ], + "schedule": { + "cron": "0 5 * * *" + }, + "retention": { + "policyTimeBucketed": { + "daily": 7, + "weekly": 4, + "monthly": 6 } } }, @@ -242,6 +265,37 @@ "yearly": 2 } } + }, + { + "id": "vpn-backup", + "repo": "hidrive-backup", + "paths": ["/volumes/vpn_etc_wireguard"], + "schedule": { + "cron": "0 9 * * *" + }, + "retention": { + "policyTimeBucketed": { + "daily": 7, + "weekly": 4, + "monthly": 12, + "yearly": 3 + } + } + }, + { + "id": "netdata-backup", + "repo": "hidrive-backup", + "paths": ["/volumes/netdata_config"], + "schedule": { + "cron": "0 10 * * *" + }, + "retention": { + "policyTimeBucketed": { + "daily": 7, + "weekly": 4, + "monthly": 3 + } + } } ] }