name: Nightly Backup (DB + Workflows) on: schedule: - cron: "23 2 * * *" # daily at 02:23 UTC workflow_dispatch: jobs: backup: runs-on: ubuntu-latest container: image: postgres:15 steps: - uses: actions/checkout@v4 - name: Run backup script env: DB_HOST: ${{ secrets.DB_HOST }} DB_PORT: ${{ secrets.DB_PORT }} DB_NAME: ${{ secrets.DB_NAME }} DB_USER: ${{ secrets.DB_USER }} DB_PASSWORD: ${{ secrets.DB_PASSWORD }} N8N_BASE_URL: ${{ secrets.N8N_BASE_URL }} N8N_API_KEY: ${{ secrets.N8N_API_KEY }} run: | chmod +x scripts/backup.sh ./scripts/backup.sh - name: Upload artifacts uses: actions/upload-artifact@v4 with: name: n8n-backup path: workflows/backup/**