diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 8956727..923ab70 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -37,6 +37,17 @@ jobs: ADMIN_PASSWORD=${{ secrets.ADMIN_PASSWORD }} EOF + - name: Backup database before deploy + run: | + mkdir -p /opt/galaxis-po/backups + docker exec galaxis-po-db pg_dump -U ${{ secrets.DB_USER }} ${{ secrets.DB_NAME }} \ + > /opt/galaxis-po/backups/$(date +%Y%m%d_%H%M%S).sql 2>/dev/null || true + + - name: Ensure data directories exist + run: | + mkdir -p /opt/galaxis-po/postgres-data + mkdir -p /opt/galaxis-po/backups + - name: Deploy with Docker Compose run: | docker compose --project-name galaxis-po --env-file .env.prod -f docker-compose.prod.yml down || true diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml index 5c25602..afc306c 100644 --- a/docker-compose.prod.yml +++ b/docker-compose.prod.yml @@ -10,7 +10,7 @@ services: POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_DB: ${DB_NAME} volumes: - - postgres_data:/var/lib/postgresql/data + - /opt/galaxis-po/postgres-data:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U ${DB_USER} -d ${DB_NAME}"] interval: 5s @@ -60,10 +60,6 @@ services: networks: - galaxy-net -volumes: - postgres_data: - driver: local - networks: galaxy-net: driver: bridge