Skip to content

Commit f05876e

Browse files
committed
feat: add pre-deployment backup and external volume
- Add automatic database backup before each deployment - Mark postgres volume as external to prevent data loss - Backups saved in ~/backup_pre_deploy_*.sql - PostgreSQL 16 with 56 Flyway migrations - OAuth2 clients configured and cleaned
1 parent 1e5326c commit f05876e

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

.github/workflows/backend-cd.yml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,15 @@ jobs:
192192
193193
# Load environment
194194
export $(cat .env.prod | grep -v '^#' | xargs)
195-
195+
196+
# Backup database before deployment
197+
echo "📦 Creating pre-deployment backup..."
198+
if sudo docker ps | grep -q postgrecontainer; then
199+
sudo docker exec postgrecontainer pg_dumpall -U ${POSTGRES_USER:-user2711} > ~/backup_pre_deploy_$(date +%Y%m%d_%H%M%S).sql && echo "✅ Backup created" || echo "⚠️ Backup failed (first deployment?)"
200+
else
201+
echo "ℹ️ PostgreSQL not running, skipping backup (first deployment?)"
202+
fi
203+
196204
# Complete cleanup
197205
echo "🛑 Complete Docker cleanup..."
198206
sudo docker compose --env-file .env.prod down --remove-orphans || true

docker-compose.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -465,6 +465,7 @@ services:
465465

466466
volumes:
467467
microservices_postgres_data_v16:
468+
external: true
468469
pgadminvolume:
469470

470471
networks:

0 commit comments

Comments
 (0)