M23: automate verified database backups

This commit is contained in:
NuklearRabbit
2026-08-10 15:46:06 +02:00
parent 689e499634
commit f0f1be83ae
8 changed files with 142 additions and 4 deletions
+28
View File
@@ -34,3 +34,31 @@ services:
interval: 10s
timeout: 5s
retries: 20
backup:
image: postgres:16-alpine
restart: unless-stopped
environment:
POSTGRES_DB: ${POSTGRES_DB:-mobilityops}
POSTGRES_USER: ${POSTGRES_USER:-mobilityops}
PGPASSWORD: ${POSTGRES_PASSWORD:-mobilityops}
BACKUP_DESTINATION: /backups
BACKUP_SECONDARY_DESTINATION: ${BACKUP_SECONDARY_DESTINATION:-}
BACKUP_INTERVAL_SECONDS: ${BACKUP_INTERVAL_SECONDS:-86400}
BACKUP_RETENTION_DAYS: ${BACKUP_RETENTION_DAYS:-30}
BACKUP_MINIMUM_COPIES: ${BACKUP_MINIMUM_COPIES:-7}
command: ["/opt/mobilityops/scheduled-backup.sh"]
volumes:
- ./backups/postgres:/backups
- ${MOBILITYOPS_BACKUP_SECONDARY_DIR:-./backups/offsite}:/offsite
- ./deploy/unraid:/opt/mobilityops:ro
depends_on:
db:
condition: service_healthy
healthcheck:
test: ["CMD-SHELL", "find /backups/latest-success -mmin -1560 -print -quit | grep -q ."]
interval: 30m
timeout: 5s
retries: 3
start_period: 5m
networks: [mobilityops]