chore(deploy): ajoute des health checks backend et frontend
- 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) <noreply@anthropic.com>
This commit is contained in:
@@ -52,6 +52,15 @@ services:
|
|||||||
depends_on:
|
depends_on:
|
||||||
postgres:
|
postgres:
|
||||||
condition: service_healthy
|
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:
|
frontend:
|
||||||
build:
|
build:
|
||||||
@@ -65,6 +74,14 @@ services:
|
|||||||
- "3000"
|
- "3000"
|
||||||
depends_on:
|
depends_on:
|
||||||
- backend
|
- 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:
|
volumes:
|
||||||
cesizen_pgdata_v2:
|
cesizen_pgdata_v2:
|
||||||
|
|||||||
Reference in New Issue
Block a user