fix(deploy): valeurs en dur dans le compose, sans secret versionné

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.
This commit is contained in:
Azmog
2026-06-19 09:58:32 +02:00
parent cc64cb0180
commit 2dd93fbbb4
+18 -15
View File
@@ -7,15 +7,17 @@ services:
image: postgres:16-alpine image: postgres:16-alpine
restart: unless-stopped restart: unless-stopped
environment: environment:
POSTGRES_DB: ${POSTGRES_DB:-cesizen} # Identifiants de la base figés en dur : la base n'est PAS exposée
POSTGRES_USER: ${POSTGRES_USER:-cesizen} # publiquement (réseau interne Coolify), et cela évite les soucis de
# Défini une valeur par défaut pour que la base démarre même sans variable. # substitution ${...} non fiables côté Coolify (postgres et backend
# À surcharger via la variable POSTGRES_PASSWORD dans Coolify (recommandé). # doivent partager exactement le même mot de passe).
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-cesizen_secret_change_me} POSTGRES_DB: cesizen
POSTGRES_USER: cesizen
POSTGRES_PASSWORD: cesizen_secret_change_me
volumes: volumes:
- cesizen_pg_data:/var/lib/postgresql/data - cesizen_pg_data:/var/lib/postgresql/data
healthcheck: 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 interval: 10s
timeout: 5s timeout: 5s
retries: 10 retries: 10
@@ -30,17 +32,18 @@ services:
APP_NAME: CESIZen APP_NAME: CESIZen
APP_ENV: production APP_ENV: production
APP_DEBUG: "false" APP_DEBUG: "false"
APP_KEY: ${APP_KEY} # APP_KEY et JWT_SECRET ne sont PAS dans ce fichier (pas de secret versionné) :
APP_URL: ${APP_URL} # 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_CONNECTION: pgsql
DB_HOST: postgres DB_HOST: postgres
DB_PORT: 5432 DB_PORT: 5432
DB_DATABASE: ${POSTGRES_DB:-cesizen} DB_DATABASE: cesizen
DB_USERNAME: ${POSTGRES_USER:-cesizen} DB_USERNAME: cesizen
DB_PASSWORD: ${POSTGRES_PASSWORD:-cesizen_secret_change_me} DB_PASSWORD: cesizen_secret_change_me
JWT_SECRET: ${JWT_SECRET} JWT_TTL: "60"
JWT_TTL: ${JWT_TTL:-60} FRONTEND_URL: https://cesizen.cleanows.fr
FRONTEND_URL: ${FRONTEND_URL}
CACHE_STORE: database CACHE_STORE: database
SESSION_DRIVER: database SESSION_DRIVER: database
QUEUE_CONNECTION: database QUEUE_CONNECTION: database
@@ -56,7 +59,7 @@ services:
dockerfile: Dockerfile.prod dockerfile: Dockerfile.prod
args: args:
# URL PUBLIQUE de l'API (injectée au build, visible côté navigateur) # 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 restart: unless-stopped
expose: expose:
- "3000" - "3000"