1.9 KiB
1.9 KiB
Offsite Backup Replication + Failure Alerting
This runbook configures:
- Encrypted local DB backups
- Replication to S3-compatible object storage (AWS S3, Backblaze B2 S3, Wasabi)
- Webhook/email alerting on backup or restore-test failure
1) Configure secrets file
Create or edit:
/opt/proxpanel/.backup.env
Reference template:
/opt/proxpanel/infra/deploy/.backup.env.example
2) Example provider configs
AWS S3
OFFSITE_BACKUP_ENABLED=true
OFFSITE_S3_BUCKET=my-proxpanel-backups
OFFSITE_S3_REGION=us-east-1
OFFSITE_S3_PREFIX=proxpanel/db
OFFSITE_S3_ACCESS_KEY_ID=AKIA...
OFFSITE_S3_SECRET_ACCESS_KEY=...
OFFSITE_S3_ENDPOINT_URL=
Wasabi
OFFSITE_BACKUP_ENABLED=true
OFFSITE_S3_BUCKET=my-proxpanel-backups
OFFSITE_S3_REGION=us-east-1
OFFSITE_S3_PREFIX=proxpanel/db
OFFSITE_S3_ENDPOINT_URL=https://s3.us-east-1.wasabisys.com
OFFSITE_S3_ACCESS_KEY_ID=...
OFFSITE_S3_SECRET_ACCESS_KEY=...
Backblaze B2 (S3 Compatible)
OFFSITE_BACKUP_ENABLED=true
OFFSITE_S3_BUCKET=my-proxpanel-backups
OFFSITE_S3_REGION=us-west-002
OFFSITE_S3_PREFIX=proxpanel/db
OFFSITE_S3_ENDPOINT_URL=https://s3.us-west-002.backblazeb2.com
OFFSITE_S3_ACCESS_KEY_ID=...
OFFSITE_S3_SECRET_ACCESS_KEY=...
3) Configure alerting
Set one or both:
BACKUP_ALERT_WEBHOOK_URL=https://hooks.example.com/proxpanel-backup
BACKUP_ALERT_EMAIL_WEBHOOK_URL=https://mailer.example.com/send
BACKUP_ALERT_EMAIL_TO=ops@votcloud.com
4) Apply cron schedule
sudo bash /opt/proxpanel/infra/deploy/configure-db-backup-cron.sh --run-now
5) Verification
- Check local encrypted backup exists in
/opt/proxpanel-backups/daily/<timestamp>/. - Check offsite files:
proxpanel.sql.encproxpanel.sql.enc.sha256
- Check logs:
/var/log/proxpanel-db-backup.log/var/log/proxpanel-db-restore-test.log
- Trigger controlled failure and confirm alert received (webhook/email).