Variables d’environnement
Fichiers de reference
| Fichier |
Role |
/root/home-it/apps/raci-flow/.env.example |
Template avec valeurs par defaut |
/root/home-it/apps/raci-flow/.env |
Valeurs de production (non versionne) |
Variables obligatoires
Application
| Variable |
Description |
NODE_ENV |
Environnement d’execution (production, development) |
PORT |
Port d’ecoute du serveur Express (defaut : 3000) |
VITE_APP_ID |
Identifiant de l’application pour le frontend Vite |
Base de donnees PostgreSQL
| Variable |
Description |
DATABASE_URL |
URL de connexion complete PostgreSQL (postgresql://USER:PASSWORD@HOST:PORT/DATABASE) |
POSTGRES_USER |
Nom d’utilisateur PostgreSQL (doit correspondre a DATABASE_URL) |
POSTGRES_PASSWORD |
Mot de passe PostgreSQL (doit correspondre a DATABASE_URL) |
POSTGRES_DB |
Nom de la base de donnees (doit correspondre a DATABASE_URL) |
Securite
| Variable |
Description |
JWT_SECRET |
Secret pour la signature des tokens JWT. Doit etre une chaine hexadecimale de 64 caracteres. Generer avec : openssl rand -hex 32. Obligatoire en production (le serveur refuse de demarrer sans). |
Variables Sentry (monitoring)
| Variable |
Description |
SENTRY_DSN |
DSN Sentry pour le backend Node.js (initialise dans instrument.ts) |
VITE_SENTRY_DSN |
DSN Sentry pour le frontend React (injecte au build via Vite, variable ARG du Dockerfile) |
Variables optionnelles
API Forge (LLM / generation)
| Variable |
Description |
BUILT_IN_FORGE_API_URL |
URL de l’API Forge pour les fonctionnalites LLM et generation d’images |
BUILT_IN_FORGE_API_KEY |
Cle d’API Forge |
Email transactionnel
| Variable |
Description |
RESEND_API_KEY |
Cle d’API Resend pour l’envoi d’emails transactionnels |
Administration
| Variable |
Description |
OWNER_OPEN_ID |
OpenID du premier administrateur (owner) |
Reseau
| Variable |
Description |
ALLOWED_ORIGINS |
Origines CORS autorisees, separees par des virgules (ex : https://app.raciflow.com) |
Debug
| Variable |
Description |
LOG_LEVEL |
Niveau de log du serveur : debug, info, warn, error (defaut : info) |
Variables injectees par Docker Compose
Le fichier docker-compose.yml injecte automatiquement certaines variables dans le container app :
environment:
NODE_ENV: production
PORT: "3000"
DATABASE_URL: postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgres:5432/${POSTGRES_DB}
SENTRY_DSN: ${SENTRY_DSN}
Les variables VITE_APP_ID et VITE_SENTRY_DSN sont passees en tant que build args et sont integrees dans le bundle frontend au moment du build Docker.
Bonnes pratiques
- Ne jamais commiter le fichier
.env dans le repository Git
- Utiliser
.env.example comme reference pour creer le fichier .env
- Regenerer
JWT_SECRET en cas de compromission (invalide toutes les sessions actives)
- Les variables prefixees par
VITE_ sont exposees dans le code frontend (ne pas y mettre de secrets)