Skip to content

Backup & Recovery

DATABASEBACKUP.sql.gz

Critical — Data Loss

  • PostgreSQL (DEV + UAT) — all application data
  • ImmuDB — immutable audit trail
  • Garage S3 — uploaded documents/files
  • Harbor /data/ — all container images

Important — Service Disruption

  • Keycloak realm — user accounts, client configs
  • Stack YAML files — all service definitions
  • Nginx Docker configs — routing rules
  • WireGuard config — VPN tunnel keys
Terminal window
# DEV database backup
docker exec $(docker ps -q -f name=dev_postgresql) \
pg_dumpall -U postgres | gzip > sseris-dev-$(date +%Y%m%d).sql.gz
# UAT database backup
docker exec $(docker ps -q -f name=uat_postgresql) \
pg_dumpall -U postgres | gzip > sseris-uat-$(date +%Y%m%d).sql.gz
Terminal window
gunzip -c sseris-dev-20260208.sql.gz | \
docker exec -i $(docker ps -q -f name=dev_postgresql) psql -U postgres
Terminal window
# Stop Harbor services first (optional but safer)
# Then tar the data directory
tar -czf harbor-backup-$(date +%Y%m%d).tar.gz /data/
Terminal window
# Stack files (on Azure)
tar -czf stacks-backup-$(date +%Y%m%d).tar.gz /home/kaks/stacks/
# WireGuard config (on Contabo)
cp /etc/wireguard/wg0.conf ~/wg0-backup-$(date +%Y%m%d).conf
# Docker configs (export all)
for cfg in $(docker config ls -q); do
docker config inspect $cfg > ~/configs/$cfg.json
done
DataFrequencyMethodRetention
PostgreSQL (DEV)Dailypg_dumpall + compress7 days
PostgreSQL (UAT)Dailypg_dumpall + compress7 days
Harbor /data/Weeklytar + compress4 weeks
Stack YAML filesOn changeGit (already in repo)All history
Keycloak realmOn changeAdmin console exportKeep latest
WireGuard configOn changeCopyKeep latest