feat(backup): add automated DB backup script, rsync support and Gitea CI secret integration
This commit is contained in:
@@ -49,14 +49,26 @@ jobs:
|
||||
env:
|
||||
PROD_DB_USER: ${{ secrets.PROD_DB_USER }}
|
||||
PROD_DB_PASSWORD: ${{ secrets.PROD_DB_PASSWORD }}
|
||||
PROD_DB_NAME: ${{ secrets.PROD_DB_NAME }}
|
||||
CAPTCHA_SECRET: ${{ secrets.CAPTCHA_SECRET }}
|
||||
CAPTCHA_SITEKEY: ${{ secrets.CAPTCHA_SITEKEY }}
|
||||
MAIL_USERNAME: ${{ secrets.MAIL_USERNAME }}
|
||||
MAIL_PASSWORD: ${{ secrets.MAIL_PASSWORD }}
|
||||
MAIL_FROM: ${{ secrets.MAIL_FROM }}
|
||||
BREVO_API_KEY: ${{ secrets.BREVO_API_KEY }}
|
||||
NOTIFICATION_EMAIL: ${{ secrets.NOTIFICATION_EMAIL }}
|
||||
BACKUP_DIR: ${{ secrets.BACKUP_DIR }}
|
||||
RETENTION_DAYS: ${{ secrets.RETENTION_DAYS }}
|
||||
ENABLE_REMOTE_COPY: ${{ secrets.ENABLE_REMOTE_COPY }}
|
||||
REMOTE_HOST: ${{ secrets.REMOTE_HOST }}
|
||||
REMOTE_USER: ${{ secrets.REMOTE_USER }}
|
||||
REMOTE_PORT: ${{ secrets.REMOTE_PORT }}
|
||||
REMOTE_BACKUP_DIR: ${{ secrets.REMOTE_BACKUP_DIR }}
|
||||
SSH_KEY_PATH: ${{ secrets.SSH_KEY_PATH }}
|
||||
run: |
|
||||
echo "POSTGRES_USER=${PROD_DB_USER:-myuser}" > .env
|
||||
echo "POSTGRES_PASSWORD=${PROD_DB_PASSWORD:-mypassword}" >> .env
|
||||
[ -n "${PROD_DB_NAME}" ] && echo "POSTGRES_DB=${PROD_DB_NAME}" >> .env
|
||||
echo "CAPTCHA_SECRET=${CAPTCHA_SECRET:-1x0000000000000000000000000000000AA}" >> .env
|
||||
echo "CAPTCHA_SITEKEY=${CAPTCHA_SITEKEY:-1x00000000000000000000AA}" >> .env
|
||||
if [ -n "${MAIL_USERNAME}" ]; then
|
||||
@@ -70,6 +82,19 @@ jobs:
|
||||
echo "APP_MAIL_FROM=${MAIL_FROM}" >> .env
|
||||
fi
|
||||
fi
|
||||
# Configuration des sauvegardes de BDD
|
||||
[ -n "${BREVO_API_KEY}" ] && echo "BREVO_API_KEY=${BREVO_API_KEY}" >> .env
|
||||
[ -n "${NOTIFICATION_EMAIL}" ] && echo "NOTIFICATION_EMAIL=${NOTIFICATION_EMAIL}" >> .env
|
||||
[ -n "${BACKUP_DIR}" ] && echo "BACKUP_DIR=${BACKUP_DIR}" >> .env
|
||||
[ -n "${RETENTION_DAYS}" ] && echo "RETENTION_DAYS=${RETENTION_DAYS}" >> .env
|
||||
if [ "${ENABLE_REMOTE_COPY}" = "true" ]; then
|
||||
echo "ENABLE_REMOTE_COPY=true" >> .env
|
||||
[ -n "${REMOTE_HOST}" ] && echo "REMOTE_HOST=${REMOTE_HOST}" >> .env
|
||||
[ -n "${REMOTE_USER}" ] && echo "REMOTE_USER=${REMOTE_USER}" >> .env
|
||||
[ -n "${REMOTE_PORT}" ] && echo "REMOTE_PORT=${REMOTE_PORT}" >> .env
|
||||
[ -n "${REMOTE_BACKUP_DIR}" ] && echo "REMOTE_BACKUP_DIR=${REMOTE_BACKUP_DIR}" >> .env
|
||||
[ -n "${SSH_KEY_PATH}" ] && echo "SSH_KEY_PATH=${SSH_KEY_PATH}" >> .env
|
||||
fi
|
||||
docker compose down app || true
|
||||
docker compose up -d --build app
|
||||
|
||||
|
||||
Reference in New Issue
Block a user