Files
docker-compose/restic/config.json
Sebastian Krüger 9e379c008e feat: update Restic backup configuration
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 <noreply@anthropic.com>
2025-11-08 21:01:31 +01:00

302 lines
6.1 KiB
JSON

{
"version": 4,
"instance": "falcon",
"repos": [
{
"id": "hidrive-backup",
"uri": "/repos",
"password": "falcon-backup-2025",
"autoUnlock": true,
"autoInitialize": true,
"prunePolicy": {
"schedule": {
"cron": "0 2 * * 0"
}
},
"checkPolicy": {
"schedule": {
"cron": "0 3 * * 0"
}
}
}
],
"plans": [
{
"id": "postgres-backup",
"repo": "hidrive-backup",
"paths": ["/volumes/core_postgres_data"],
"schedule": {
"cron": "0 2 * * *"
},
"retention": {
"policyTimeBucketed": {
"daily": 7,
"weekly": 4,
"monthly": 6,
"yearly": 2
}
}
},
{
"id": "redis-backup",
"repo": "hidrive-backup",
"paths": ["/volumes/core_redis_data"],
"schedule": {
"cron": "0 3 * * *"
},
"retention": {
"policyTimeBucketed": {
"daily": 7,
"weekly": 4,
"monthly": 3
}
}
},
{
"id": "directus-uploads-backup",
"repo": "hidrive-backup",
"paths": ["/volumes/directus_uploads"],
"schedule": {
"cron": "0 4 * * *"
},
"retention": {
"policyTimeBucketed": {
"daily": 7,
"weekly": 4,
"monthly": 6,
"yearly": 2
}
}
},
{
"id": "directus-bundle-backup",
"repo": "hidrive-backup",
"paths": ["/volumes/directus_bundle"],
"schedule": {
"cron": "0 4 * * *"
},
"retention": {
"policyTimeBucketed": {
"daily": 7,
"weekly": 4,
"monthly": 3
}
}
},
{
"id": "awesome-backup",
"repo": "hidrive-backup",
"paths": ["/volumes/awesome_data"],
"schedule": {
"cron": "0 5 * * *"
},
"retention": {
"policyTimeBucketed": {
"daily": 7,
"weekly": 4,
"monthly": 6
}
}
},
{
"id": "mattermost-backup",
"repo": "hidrive-backup",
"paths": [
"/volumes/mattermost_config",
"/volumes/mattermost_data",
"/volumes/mattermost_plugins"
],
"schedule": {
"cron": "0 5 * * *"
},
"retention": {
"policyTimeBucketed": {
"daily": 7,
"weekly": 4,
"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
}
}
},
{
"id": "scrapy-backup",
"repo": "hidrive-backup",
"paths": [
"/volumes/scrapyd_data",
"/volumes/scrapy_code"
],
"schedule": {
"cron": "0 6 * * *"
},
"retention": {
"policyTimeBucketed": {
"daily": 7,
"weekly": 4,
"monthly": 3
}
}
},
{
"id": "n8n-backup",
"repo": "hidrive-backup",
"paths": ["/volumes/n8n_data"],
"schedule": {
"cron": "0 6 * * *"
},
"retention": {
"policyTimeBucketed": {
"daily": 7,
"weekly": 4,
"monthly": 6
}
}
},
{
"id": "filestash-backup",
"repo": "hidrive-backup",
"paths": ["/volumes/filestash_data"],
"schedule": {
"cron": "0 7 * * *"
},
"retention": {
"policyTimeBucketed": {
"daily": 7,
"weekly": 4,
"monthly": 3
}
}
},
{
"id": "linkwarden-backup",
"repo": "hidrive-backup",
"paths": [
"/volumes/linkwarden_data",
"/volumes/linkwarden_meili_data"
],
"schedule": {
"cron": "0 7 * * *"
},
"retention": {
"policyTimeBucketed": {
"daily": 7,
"weekly": 4,
"monthly": 6
}
}
},
{
"id": "letsencrypt-backup",
"repo": "hidrive-backup",
"paths": ["/volumes/letsencrypt_data"],
"schedule": {
"cron": "0 8 * * *"
},
"retention": {
"policyTimeBucketed": {
"daily": 7,
"weekly": 4,
"monthly": 12,
"yearly": 3
}
}
},
{
"id": "vaultwarden-backup",
"repo": "hidrive-backup",
"paths": ["/volumes/vaultwarden_data"],
"schedule": {
"cron": "0 8 * * *"
},
"retention": {
"policyTimeBucketed": {
"daily": 7,
"weekly": 4,
"monthly": 12,
"yearly": 3
}
}
},
{
"id": "joplin-backup",
"repo": "hidrive-backup",
"paths": ["/volumes/joplin_data"],
"schedule": {
"cron": "0 2 * * *"
},
"retention": {
"policyTimeBucketed": {
"daily": 7,
"weekly": 4,
"monthly": 6,
"yearly": 2
}
}
},
{
"id": "jellyfin-backup",
"repo": "hidrive-backup",
"paths": ["/volumes/jelly_config"],
"schedule": {
"cron": "0 9 * * *"
},
"retention": {
"policyTimeBucketed": {
"daily": 7,
"weekly": 4,
"monthly": 6,
"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
}
}
}
]
}