From f3bab24bd3634ceb723f8416c63979a6e46ce321 Mon Sep 17 00:00:00 2001 From: Marc Mintel Date: Fri, 10 Apr 2026 23:13:13 +0200 Subject: [PATCH] feat: enforced CI deployment healthcheck waiting (zero-downtime) --- .gitea/workflows/deploy.yml | 2 +- docker-compose.yml | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index dbdd379..4731619 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -388,7 +388,7 @@ jobs: docker volume create 'mintel-me_payload-db-data' || true cd $SITE_DIR docker compose -p '${{ needs.prepare.outputs.project_name }}' --env-file $ENV_FILE pull - docker compose -p '${{ needs.prepare.outputs.project_name }}' --env-file $ENV_FILE up -d --remove-orphans + docker compose -p '${{ needs.prepare.outputs.project_name }}' --env-file $ENV_FILE up -d --wait --remove-orphans " - name: 🧹 Purge S3 Cache diff --git a/docker-compose.yml b/docker-compose.yml index 30ea034..6b52fc4 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -9,6 +9,12 @@ services: - ${ENV_FILE:-.env} labels: - "traefik.enable=true" + healthcheck: + test: ["CMD-SHELL", "wget --no-verbose --tries=1 --spider http://127.0.0.1:3000/ || exit 1"] + interval: 10s + timeout: 5s + retries: 5 + start_period: 20s # HTTP ⇒ HTTPS redirect - 'traefik.http.routers.${PROJECT_NAME}-web.rule=${TRAEFIK_HOST_RULE:-Host("${TRAEFIK_HOST:-mintel.localhost}")}' - "traefik.http.routers.${PROJECT_NAME}-web.entrypoints=web"