Configuration
Variables d'environnement
Référence exhaustive. La source de vérité est ../../.env.example.
Référence exhaustive. La source de vérité est ../../.env.example.
| Variable | Requis | Défaut | Description |
|---|
NODE_ENV | non | development | production active HSTS, désactive le logger texte humain |
NEXT_PUBLIC_APP_URL | non | http://localhost:3000 | URL publique de l'app, utilisée par certains links générés serveur |
PORT | non | 3000 | Port d'écoute Next |
HOSTNAME | non | 0.0.0.0 | Bind address (utile en container) |
| Variable | Requis | Défaut | Description |
|---|
DATABASE_URL | oui | — | Chaîne Postgres. Format : postgresql://user:pass@host:port/db |
DATABASE_SSL | non | false | Force SSL même sans sslmode= dans l'URL |
DATABASE_SSL_REJECT_UNAUTHORIZED | non | true | Refuser les certificats non signés. Ne mettre false que pour un Postgres self-hosted avec cert auto-signé. |
| Variable | Requis | Défaut | Description |
|---|
REDIS_URL | non | redis://localhost:6379 | Utilisé pour le rate-limit. Si Redis est down, fail-open (autorise mais log) |
| Variable | Requis | Défaut | Description |
|---|
S3_ENDPOINT | oui en prod | — | URL du provider S3 (vide → AWS default) |
S3_REGION | non | eu-west-3 | Région bucket |
S3_BUCKET | non | louis | Nom du bucket (créé auto au premier upload si possible) |
S3_ACCESS_KEY_ID | oui | — | |
S3_SECRET_ACCESS_KEY | oui | — | |
S3_FORCE_PATH_STYLE | non | auto | true pour MinIO. Détecté auto si S3_ENDPOINT contient localhost |
| Variable | Requis | Défaut | Description |
|---|
AUTH_SECRET | oui | — | Secret JWT NextAuth. Générer via openssl rand -base64 32. Différent entre environnements. |
| Variable | Requis | Défaut | Description |
|---|
ENCRYPTION_KEY | oui | — | Clé maîtresse AES-256-GCM pour les provider keys et credentials connecteurs. Générer via openssl rand -base64 32. Sa rotation invalide toutes les clés stockées. |
| Variable | Requis | Défaut | Description |
|---|
GOTENBERG_URL | non | — | URL Gotenberg pour le rendu DOCX→PDF. Fallback : LibreOffice local, puis HTML mammoth. Cf. installation/docker-compose.md |
Toutes les limites s'appliquent par utilisateur authentifié sauf
login qui s'applique par IP. Mettre à 0 désactive le bucket.
| Variable | Défaut | Description |
|---|
RATE_LIMIT_CHAT_PER_MINUTE | 30 | Requêtes chat / minute / user |
RATE_LIMIT_UPLOAD_PER_HOUR | 60 | Uploads document / heure / user |
RATE_LIMIT_LOGIN_PER_15MIN | 10 | Tentatives login / 15 min / IP |
Ces variables servent uniquement de fallback si aucun user n'a configuré
de clé via l'UI. Louis privilégie toujours la configuration par-user
(Settings → Providers).