feat: add automated backup configuration for all volumes
Added comprehensive backup configuration to Backrest:
**Repository Configuration:**
- Target: /repos (mounted from /mnt/hidrive/users/valknar/Backup)
- Password: falcon-backup-2025
- Auto-initialize and auto-unlock enabled
- Weekly prune schedule (Sundays at 2 AM)
- Weekly integrity checks (Sundays at 3 AM)
**Backup Plans** (11 plans covering all volumes):
1. **postgres-backup** (2 AM daily)
- PostgreSQL database
- Retention: 7 daily, 4 weekly, 6 monthly, 2 yearly
2. **redis-backup** (3 AM daily)
- Redis cache data
- Retention: 7 daily, 4 weekly, 3 monthly
3. **directus-uploads-backup** (4 AM daily)
- Directus media files
- Retention: 7 daily, 4 weekly, 6 monthly, 2 yearly
4. **directus-bundle-backup** (4 AM daily)
- Directus extensions
- Retention: 7 daily, 4 weekly, 3 monthly
5. **awesome-backup** (5 AM daily)
- Awesome app database
- Retention: 7 daily, 4 weekly, 6 monthly
6. **gotify-backup** (5 AM daily)
- Gotify notifications
- Retention: 7 daily, 4 weekly, 3 monthly
7. **scrapy-backup** (6 AM daily)
- Scrapyd data and spider code
- Retention: 7 daily, 4 weekly, 3 monthly
8. **n8n-backup** (6 AM daily)
- n8n workflow data
- Retention: 7 daily, 4 weekly, 6 monthly
9. **filestash-backup** (7 AM daily)
- Filestash state
- Retention: 7 daily, 4 weekly, 3 monthly
10. **linkwarden-backup** (7 AM daily)
- Linkwarden bookmarks and search index
- Retention: 7 daily, 4 weekly, 6 monthly
11. **letsencrypt-backup** (8 AM daily)
- SSL certificates
- Retention: 7 daily, 4 weekly, 12 monthly, 3 yearly
**Configuration Mount:**
- config.json mounted directly at /config/config.json
- Read-write mode to allow UI updates
- Removed backrest_config volume (using file mount instead)
All backups scheduled at different times to spread I/O load.
Critical data (postgres, directus, letsencrypt) has longer retention.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-06 10:26:04 +01:00
|
|
|
{
|
2025-11-06 10:34:09 +01:00
|
|
|
"version": 4,
|
feat: add automated backup configuration for all volumes
Added comprehensive backup configuration to Backrest:
**Repository Configuration:**
- Target: /repos (mounted from /mnt/hidrive/users/valknar/Backup)
- Password: falcon-backup-2025
- Auto-initialize and auto-unlock enabled
- Weekly prune schedule (Sundays at 2 AM)
- Weekly integrity checks (Sundays at 3 AM)
**Backup Plans** (11 plans covering all volumes):
1. **postgres-backup** (2 AM daily)
- PostgreSQL database
- Retention: 7 daily, 4 weekly, 6 monthly, 2 yearly
2. **redis-backup** (3 AM daily)
- Redis cache data
- Retention: 7 daily, 4 weekly, 3 monthly
3. **directus-uploads-backup** (4 AM daily)
- Directus media files
- Retention: 7 daily, 4 weekly, 6 monthly, 2 yearly
4. **directus-bundle-backup** (4 AM daily)
- Directus extensions
- Retention: 7 daily, 4 weekly, 3 monthly
5. **awesome-backup** (5 AM daily)
- Awesome app database
- Retention: 7 daily, 4 weekly, 6 monthly
6. **gotify-backup** (5 AM daily)
- Gotify notifications
- Retention: 7 daily, 4 weekly, 3 monthly
7. **scrapy-backup** (6 AM daily)
- Scrapyd data and spider code
- Retention: 7 daily, 4 weekly, 3 monthly
8. **n8n-backup** (6 AM daily)
- n8n workflow data
- Retention: 7 daily, 4 weekly, 6 monthly
9. **filestash-backup** (7 AM daily)
- Filestash state
- Retention: 7 daily, 4 weekly, 3 monthly
10. **linkwarden-backup** (7 AM daily)
- Linkwarden bookmarks and search index
- Retention: 7 daily, 4 weekly, 6 monthly
11. **letsencrypt-backup** (8 AM daily)
- SSL certificates
- Retention: 7 daily, 4 weekly, 12 monthly, 3 yearly
**Configuration Mount:**
- config.json mounted directly at /config/config.json
- Read-write mode to allow UI updates
- Removed backrest_config volume (using file mount instead)
All backups scheduled at different times to spread I/O load.
Critical data (postgres, directus, letsencrypt) has longer retention.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-06 10:26:04 +01:00
|
|
|
"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": "gotify-backup",
|
|
|
|
|
"repo": "hidrive-backup",
|
|
|
|
|
"paths": ["/volumes/gotify_data"],
|
|
|
|
|
"schedule": {
|
|
|
|
|
"cron": "0 5 * * *"
|
|
|
|
|
},
|
|
|
|
|
"retention": {
|
|
|
|
|
"policyTimeBucketed": {
|
|
|
|
|
"daily": 7,
|
|
|
|
|
"weekly": 4,
|
|
|
|
|
"monthly": 3
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"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
|
|
|
|
|
}
|
|
|
|
|
}
|
2025-11-06 11:15:12 +01:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "vaultwarden-backup",
|
|
|
|
|
"repo": "hidrive-backup",
|
|
|
|
|
"paths": ["/volumes/vaultwarden_data"],
|
|
|
|
|
"schedule": {
|
|
|
|
|
"cron": "0 8 * * *"
|
|
|
|
|
},
|
|
|
|
|
"retention": {
|
|
|
|
|
"policyTimeBucketed": {
|
|
|
|
|
"daily": 7,
|
|
|
|
|
"weekly": 4,
|
|
|
|
|
"monthly": 12,
|
|
|
|
|
"yearly": 3
|
|
|
|
|
}
|
|
|
|
|
}
|
2025-11-06 12:24:07 +01:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "joplin-backup",
|
|
|
|
|
"repo": "hidrive-backup",
|
|
|
|
|
"paths": ["/volumes/joplin_data"],
|
|
|
|
|
"schedule": {
|
|
|
|
|
"cron": "0 2 * * *"
|
|
|
|
|
},
|
|
|
|
|
"retention": {
|
|
|
|
|
"policyTimeBucketed": {
|
|
|
|
|
"daily": 7,
|
|
|
|
|
"weekly": 4,
|
|
|
|
|
"monthly": 6,
|
|
|
|
|
"yearly": 2
|
|
|
|
|
}
|
|
|
|
|
}
|
feat: add automated backup configuration for all volumes
Added comprehensive backup configuration to Backrest:
**Repository Configuration:**
- Target: /repos (mounted from /mnt/hidrive/users/valknar/Backup)
- Password: falcon-backup-2025
- Auto-initialize and auto-unlock enabled
- Weekly prune schedule (Sundays at 2 AM)
- Weekly integrity checks (Sundays at 3 AM)
**Backup Plans** (11 plans covering all volumes):
1. **postgres-backup** (2 AM daily)
- PostgreSQL database
- Retention: 7 daily, 4 weekly, 6 monthly, 2 yearly
2. **redis-backup** (3 AM daily)
- Redis cache data
- Retention: 7 daily, 4 weekly, 3 monthly
3. **directus-uploads-backup** (4 AM daily)
- Directus media files
- Retention: 7 daily, 4 weekly, 6 monthly, 2 yearly
4. **directus-bundle-backup** (4 AM daily)
- Directus extensions
- Retention: 7 daily, 4 weekly, 3 monthly
5. **awesome-backup** (5 AM daily)
- Awesome app database
- Retention: 7 daily, 4 weekly, 6 monthly
6. **gotify-backup** (5 AM daily)
- Gotify notifications
- Retention: 7 daily, 4 weekly, 3 monthly
7. **scrapy-backup** (6 AM daily)
- Scrapyd data and spider code
- Retention: 7 daily, 4 weekly, 3 monthly
8. **n8n-backup** (6 AM daily)
- n8n workflow data
- Retention: 7 daily, 4 weekly, 6 monthly
9. **filestash-backup** (7 AM daily)
- Filestash state
- Retention: 7 daily, 4 weekly, 3 monthly
10. **linkwarden-backup** (7 AM daily)
- Linkwarden bookmarks and search index
- Retention: 7 daily, 4 weekly, 6 monthly
11. **letsencrypt-backup** (8 AM daily)
- SSL certificates
- Retention: 7 daily, 4 weekly, 12 monthly, 3 yearly
**Configuration Mount:**
- config.json mounted directly at /config/config.json
- Read-write mode to allow UI updates
- Removed backrest_config volume (using file mount instead)
All backups scheduled at different times to spread I/O load.
Critical data (postgres, directus, letsencrypt) has longer retention.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-06 10:26:04 +01:00
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|