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:
+18
-15
@@ -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"
|
||||||
|
|||||||
Reference in New Issue
Block a user