From 2dd93fbbb460b792e262c0966bb83e6a92b555cc Mon Sep 17 00:00:00 2001 From: Azmog <80716388+AzmogEx@users.noreply.github.com> Date: Fri, 19 Jun 2026 09:58:32 +0200 Subject: [PATCH] =?UTF-8?q?fix(deploy):=20valeurs=20en=20dur=20dans=20le?= =?UTF-8?q?=20compose,=20sans=20secret=20versionn=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit APP_KEY/JWT_SECRET générés par l'entrypoint (hors dépôt). Domaines + identifiants DB internes figés en dur (Coolify ne propage pas les ${...}). Base non exposée. --- docker-compose.prod.yaml | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/docker-compose.prod.yaml b/docker-compose.prod.yaml index 0a8f98b..baf4642 100644 --- a/docker-compose.prod.yaml +++ b/docker-compose.prod.yaml @@ -7,15 +7,17 @@ services: image: postgres:16-alpine restart: unless-stopped environment: - POSTGRES_DB: ${POSTGRES_DB:-cesizen} - POSTGRES_USER: ${POSTGRES_USER:-cesizen} - # Défini une valeur par défaut pour que la base démarre même sans variable. - # À surcharger via la variable POSTGRES_PASSWORD dans Coolify (recommandé). - POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-cesizen_secret_change_me} + # Identifiants de la base figés en dur : la base n'est PAS exposée + # publiquement (réseau interne Coolify), et cela évite les soucis de + # substitution ${...} non fiables côté Coolify (postgres et backend + # doivent partager exactement le même mot de passe). + POSTGRES_DB: cesizen + POSTGRES_USER: cesizen + POSTGRES_PASSWORD: cesizen_secret_change_me volumes: - cesizen_pg_data:/var/lib/postgresql/data healthcheck: - test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-cesizen} -d ${POSTGRES_DB:-cesizen}"] + test: ["CMD-SHELL", "pg_isready -U cesizen -d cesizen"] interval: 10s timeout: 5s retries: 10 @@ -30,17 +32,18 @@ services: APP_NAME: CESIZen APP_ENV: production APP_DEBUG: "false" - APP_KEY: ${APP_KEY} - APP_URL: ${APP_URL} + # APP_KEY et JWT_SECRET ne sont PAS dans ce fichier (pas de secret versionné) : + # l'entrypoint du backend les génère au démarrage s'ils sont absents. + # Domaines figés en dur (Coolify ne propage pas les ${...} de façon fiable). + APP_URL: https://api.cesizen.cleanows.fr DB_CONNECTION: pgsql DB_HOST: postgres DB_PORT: 5432 - DB_DATABASE: ${POSTGRES_DB:-cesizen} - DB_USERNAME: ${POSTGRES_USER:-cesizen} - DB_PASSWORD: ${POSTGRES_PASSWORD:-cesizen_secret_change_me} - JWT_SECRET: ${JWT_SECRET} - JWT_TTL: ${JWT_TTL:-60} - FRONTEND_URL: ${FRONTEND_URL} + DB_DATABASE: cesizen + DB_USERNAME: cesizen + DB_PASSWORD: cesizen_secret_change_me + JWT_TTL: "60" + FRONTEND_URL: https://cesizen.cleanows.fr CACHE_STORE: database SESSION_DRIVER: database QUEUE_CONNECTION: database @@ -56,7 +59,7 @@ services: dockerfile: Dockerfile.prod args: # URL PUBLIQUE de l'API (injectée au build, visible côté navigateur) - NEXT_PUBLIC_API_URL: ${NEXT_PUBLIC_API_URL} + NEXT_PUBLIC_API_URL: https://api.cesizen.cleanows.fr/api/v1 restart: unless-stopped expose: - "3000"