diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index a11eb14..67b467a 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -32,18 +32,6 @@ jobs: fi echo "✓ Archivos de configuración creados desde secrets" - - name: Verify config.yml exists as file - run: | - if [ -d config.yml ]; then - echo "⚠️ config.yml es un directorio, eliminando..." - rm -rf config.yml - fi - if [ ! -f config.yml ]; then - echo "❌ Error: config.yml no existe como archivo" - exit 1 - fi - echo "✓ config.yml existe y es un archivo" - - name: Ensure external docker network exists run: | docker network inspect principal >/dev/null 2>&1 || docker network create principal @@ -54,8 +42,17 @@ jobs: - name: Pull fresh cloudflared image run: docker compose pull - - name: Update stack - run: docker compose --project-name cloudflared-tunnel up -d --remove-orphans --wait + - 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 diff --git a/docker-compose.yml b/docker-compose.yml index 8068cdb..46abf2c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -7,13 +7,15 @@ services: restart: unless-stopped command: tunnel --config /etc/cloudflared/config.yml run volumes: - - ./config.yml:/etc/cloudflared/config.yml:ro - - ./credentials.json:/etc/cloudflared/credentials.json:ro + - cloudflared-config:/etc/cloudflared environment: - TUNNEL_ID=${TUNNEL_ID} networks: - principal +volumes: + cloudflared-config: + networks: principal: external: true