ae9395a831
- globals.css : supprime l'override Inter/Poppins (Marianne DSFR s'applique) et les palettes candlelight/malachite mortes - mobile : réinstall SDK 54 (expo 54, RN 0.81.5, worklets) ; app.json splash + adaptiveIcon en blanc (plus de jaune #fce117 hors charte) - formulation honnête du chiffrement (politique conf. + inscription) - compose : retire la référence au guide supprimé Vérifs : frontend tsc/lint OK ; mobile tsc 0 + expo-doctor 18/18. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
71 lines
2.2 KiB
YAML
71 lines
2.2 KiB
YAML
# Stack de production CESIZen — pour déploiement sur Coolify (type "Docker Compose").
|
|
# Les valeurs (DB, domaines) sont figées en dur ci-dessous ; APP_KEY et JWT_SECRET
|
|
# sont générés au démarrage par l'entrypoint du backend (aucun secret versionné).
|
|
|
|
services:
|
|
postgres:
|
|
image: postgres:16-alpine
|
|
restart: unless-stopped
|
|
environment:
|
|
# 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_pgdata_v2:/var/lib/postgresql/data
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U cesizen -d cesizen"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 10
|
|
start_period: 40s
|
|
|
|
backend:
|
|
build:
|
|
context: ./backend
|
|
dockerfile: Dockerfile.prod
|
|
restart: unless-stopped
|
|
environment:
|
|
APP_NAME: CESIZen
|
|
APP_ENV: production
|
|
APP_DEBUG: "false"
|
|
# 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: 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
|
|
expose:
|
|
- "8000"
|
|
depends_on:
|
|
postgres:
|
|
condition: service_healthy
|
|
|
|
frontend:
|
|
build:
|
|
context: ./frontend
|
|
dockerfile: Dockerfile.prod
|
|
args:
|
|
# URL PUBLIQUE de l'API (injectée au build, visible côté navigateur)
|
|
NEXT_PUBLIC_API_URL: https://api.cesizen.cleanows.fr/api/v1
|
|
restart: unless-stopped
|
|
expose:
|
|
- "3000"
|
|
depends_on:
|
|
- backend
|
|
|
|
volumes:
|
|
cesizen_pgdata_v2:
|