From 7fcbe8ff649b8a33bb396d7595731bc9fa212a6f Mon Sep 17 00:00:00 2001 From: Azmog <80716388+AzmogEx@users.noreply.github.com> Date: Fri, 19 Jun 2026 15:51:04 +0200 Subject: [PATCH] chore(deploy): ajoute des health checks backend et frontend MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - backend : route santé Laravel /up via php (curl absent de l'image) - frontend : page d'accueil via node http Coolify attendra désormais que chaque conteneur soit prêt avant de router. Co-Authored-By: Claude Opus 4.8 (1M context) --- docker-compose.prod.yaml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/docker-compose.prod.yaml b/docker-compose.prod.yaml index 4078116..ddf7306 100644 --- a/docker-compose.prod.yaml +++ b/docker-compose.prod.yaml @@ -52,6 +52,15 @@ services: depends_on: postgres: condition: service_healthy + healthcheck: + # Route santé native de Laravel (/up). On utilise php (présent dans l'image, + # contrairement à curl) ; exit 0 si l'API répond, 1 sinon. + test: ["CMD", "php", "-r", "exit(@file_get_contents('http://127.0.0.1:8000/up') !== false ? 0 : 1);"] + interval: 15s + timeout: 5s + retries: 5 + # Laisse le temps aux migrations + seed du démarrage avant de vérifier. + start_period: 90s frontend: build: @@ -65,6 +74,14 @@ services: - "3000" depends_on: - backend + healthcheck: + # node est présent dans l'image (node:20-alpine) ; on interroge la page + # d'accueil. exit 0 si le serveur Next répond (<400), 1 sinon. + test: ["CMD", "node", "-e", "require('http').get('http://127.0.0.1:3000/',r=>process.exit(r.statusCode<400?0:1)).on('error',()=>process.exit(1))"] + interval: 15s + timeout: 5s + retries: 5 + start_period: 40s volumes: cesizen_pgdata_v2: