Files
cloudflareTunnel/.gitea/workflows/deploy.yml
josedario87 7570be63bb
Some checks failed
deploy-tunnel / deploy (push) Has been cancelled
Fix: Use Docker volume instead of bind mount for config
- Cambiado de bind mount a named volume para evitar error 'is a directory'
- Workflow ahora copia config.yml y credentials.json al volumen con docker cp
- Esto evita que Docker cree directorios en vez de archivos
- Método más robusto y compatible con gitea-runner
2025-10-05 02:48:34 -06:00

59 lines
1.9 KiB
YAML

name: deploy-tunnel
on:
push:
branches: [ main ]
jobs:
#───────────────── deploy ─────────────────
deploy:
runs-on: docker
env:
TUNNEL_ID: ${{ secrets.TUNNEL_ID }}
TUNNEL_CREDENTIALS: ${{ secrets.TUNNEL_CREDENTIALS }}
steps:
- uses: actions/checkout@v3
- 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: Clean up stack and volumes
run: docker compose --project-name cloudflared-tunnel down -v || true
- name: Pull fresh cloudflared image
run: docker compose pull
- name: Create temporary container to populate volume
run: |
docker compose --project-name cloudflared-tunnel up --no-start
docker cp config.yml cloudflared-tunnel:/etc/cloudflared/config.yml
docker cp credentials.json cloudflared-tunnel:/etc/cloudflared/credentials.json
- name: Start tunnel
run: docker compose --project-name cloudflared-tunnel start
- name: Wait for tunnel to be healthy
run: docker compose --project-name cloudflared-tunnel wait cloudflared
- name: Show tunnel status
run: docker compose --project-name cloudflared-tunnel logs --tail=50