# Copier vers .env et renseigner. Ne jamais committer .env. # --- Base de données -------------------------------------------------------- # Port hôte publié pour PostgreSQL. Non commun à dessein : plusieurs instances # PostgreSQL coexistent sur le même serveur, et 5432 (voire 5433) est souvent # déjà pris. Le conteneur app écoute toujours sur 5432 en interne. POSTGRES_PORT=55432 POSTGRES_USER=planflow # Une valeur par défaut existe dans docker-compose.yml : la base n'étant jamais # publiée ni attachée au réseau du reverse-proxy, ce mot de passe protège d'un # conteneur voisin, pas d'Internet. Le changer reste recommandé. POSTGRES_PASSWORD=change-me POSTGRES_DB=planflow # Compte de connexion de l'application. Distinct du superutilisateur # d'amorçage : un superutilisateur contourne la row-level security, y compris # déclarée en FORCE, et l'isolation ne reposerait plus que sur la couche # applicative. Créé au premier démarrage par docker/init-app-role.sh. APP_DB_USER=planflow_app APP_DB_PASSWORD=change-me-aussi # Connexion administrative, utilisée uniquement par le harnais de tests de bout # en bout. Inutile en production. # ADMIN_DATABASE_URL=postgresql://planflow@localhost:5432/planflow # Utilisée par l'application et par Prisma. # En docker-compose l'hôte est `db` ; en développement local, `localhost`. DATABASE_URL=postgresql://planflow:change-me@localhost:5432/planflow # --- Chiffrement ------------------------------------------------------------ # Chiffre au repos les colonnes sensibles exigées par PLAN.md §3.6 : # NIR, IBAN, BIC. 32 octets en base64. # # openssl rand -base64 32 # # En docker-compose, la laisser vide suffit : elle est produite au premier # démarrage et conservée dans le volume `secrets`. # # Cette clé vit hors de la base : une sauvegarde volée ne doit pas suffire à # lire ces colonnes. La perdre rend les données chiffrées irrécupérables — # la sauvegarder séparément et documenter sa rotation. ENCRYPTION_KEY= # --- Application ------------------------------------------------------------ APP_URL=http://localhost:9317 # Port publié sur l'hôte. Peu courant à dessein : le service passe normalement # par le reverse-proxy, qui joint le conteneur sur son port 3000. APP_PORT=9317 # --- Pièces du dossier salarié ---------------------------------------------- # Répertoire de stockage, chiffré au repos avec ENCRYPTION_KEY. # En docker-compose il vaut /data/documents, sur un volume nommé — ne pas le # changer sans déplacer le volume, les pièces déjà déposées y resteraient. DOCUMENT_STORE=./storage/documents