diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index f1bb078..745ee44 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -107,13 +107,26 @@ jobs: shell: sh run: | echo "Waiting for service to be ready" - sleep 15 - HTTP_CODE=$(curl -k -s -o /dev/null -w "%{http_code}" --max-time 30 https://qr.crewsportswear.app/health || echo "000") + MAX_ATTEMPTS=12 + ATTEMPT=1 - if [ "$HTTP_CODE" = "200" ]; then - echo "Health check passed (HTTP $HTTP_CODE)" - else - echo "Health check failed (HTTP $HTTP_CODE)" - exit 1 - fi \ No newline at end of file + while [ "$ATTEMPT" -le "$MAX_ATTEMPTS" ]; do + HTTP_CODE=$(curl -k -sS -o /dev/null -w "%{http_code}" --max-time 30 https://qr.crewsportswear.app/health || true) + + if [ -z "$HTTP_CODE" ]; then + HTTP_CODE="000" + fi + + if [ "$HTTP_CODE" = "200" ]; then + echo "Health check passed (HTTP $HTTP_CODE)" + exit 0 + fi + + echo "Attempt $ATTEMPT/$MAX_ATTEMPTS: health check not ready yet (HTTP $HTTP_CODE)" + ATTEMPT=$((ATTEMPT + 1)) + sleep 10 + done + + echo "Health check failed after $MAX_ATTEMPTS attempts" + exit 1 \ No newline at end of file diff --git a/README.md b/README.md index 410bbef..2d7215e 100644 --- a/README.md +++ b/README.md @@ -68,4 +68,5 @@ Notes: - Uses external Docker networks: `traefik-public` and `crew-app-net` - Internal service port is `3000` +- TLS uses Traefik Let's Encrypt via `tls.certresolver=le` - Includes HTTP -> HTTPS redirect via Traefik labels