Automated database backup solution using WAL-G.
version: '3'
services:
backup:
build: .
environment:
WALG_FILE_PREFIX: /backups
PGHOST: database
PGPORT: 5432
PGUSER: postgres
PGPASSWORD: password
PGDATABASE: mydb
CRON_SCHEDULE: "0 * * * *"
volumes:
- db-data:/var/lib/postgresql/data:ro
- backups:/backups
volumes:
db-data:
external: true
backups:WALG_FILE_PREFIX: Backup storage locationPGHOST,PGPORT,PGUSER,PGPASSWORD,PGDATABASE: PostgreSQL connection detailsMYSQL_HOST,MYSQL_USER,MYSQL_PASSWORD,MYSQL_DATABASE: MySQL connection detailsCRON_SCHEDULE: Backup frequency (cron format)
Hourly backups by default, retaining only the latest full backup. Empty directories are automatically cleaned up.