Refactor: Use Gitea Secrets for fully automated deployment
All checks were successful
deploy-tunnel / deploy (push) Successful in 4s

- Workflow ahora crea .env y credentials.json desde secrets
- Eliminado setup-ci.sh (ya no es necesario)
- No requiere setup manual en el servidor
- Workflow verifica/crea la red Docker 'principal'
- README actualizado con instrucciones de configuración de secrets

Configuración requerida en Gitea Settings > Secrets:
- TUNNEL_ID: El ID del tunnel de Cloudflare
- TUNNEL_CREDENTIALS: El contenido completo de credentials.json
This commit is contained in:
2025-10-05 02:26:11 -06:00
parent 2b0f9ec49d
commit da93f352d9
3 changed files with 68 additions and 80 deletions

View File

@@ -9,19 +9,38 @@ jobs:
deploy:
runs-on: docker
env:
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
TUNNEL_ID: ${{ secrets.TUNNEL_ID }}
TUNNEL_CREDENTIALS: ${{ secrets.TUNNEL_CREDENTIALS }}
steps:
- uses: actions/checkout@v3
- name: Check and setup tunnel if needed
run: ./setup-ci.sh
- name: Create .env file from secrets
run: |
cat > .env << EOF
TUNNEL_ID=${{ secrets.TUNNEL_ID }}
EOF
- name: Create credentials.json from secret
run: |
echo '${{ secrets.TUNNEL_CREDENTIALS }}' > credentials.json
- name: Verify tunnel configuration
run: |
if [ ! -f credentials.json ] || [ ! -f .env ]; then
echo "❌ Error: credentials.json o .env no se crearon correctamente"
exit 1
fi
echo "✓ Archivos de configuración creados desde secrets"
- name: Ensure external docker network exists
run: |
docker network inspect principal >/dev/null 2>&1 || docker network create principal
- name: Pull fresh cloudflared image
run: docker compose pull
- name: Clean up stack
run: docker compose --project-name cloudflared-tunnel down
run: docker compose --project-name cloudflared-tunnel down || true
- name: Update stack
run: docker compose --project-name cloudflared-tunnel up -d --remove-orphans --wait