Aller au contenu

Variables d’environnement

L’API et le worker lisent leur configuration dans l’environnement, une fois, au démarrage (packages/core/src/config.ts). Avec docker-compose.prod.yml, placez-les dans un fichier .env à côté de lui : le compose les transmet aux services. Une valeur vide vaut « non définie ».

Les valeurs par défaut sont celles du développement ; NODE_ENV=production, que l’image pose d’office, en change quelques-unes.

VariableRôle
DOMAINle domaine public, servi en HTTPS par Caddy (compose de production)
SECRET_KEYla clé d’instance, 64 caractères hexadécimaux (openssl rand -hex 32) : chiffre les mots de passe des sources et les secrets d’intégration
OPA_SECRETle secret placé dans le chemin de l’endpoint OPA appelé par Trino (openssl rand -hex 24)
DB_PASSWORDle mot de passe du PostgreSQL du catalogue (compose de production)
VariableDéfautRôle
NODE_ENVdevelopmentproduction rend SECRET_KEY obligatoire et coupe par défaut la démo, le worker intégré et l’alias localhost de Trino
PUBLIC_URLhttp://localhost:3100 ; en production, https://$DOMAINl’adresse publique : liens de partage, retour OIDC ; https:// rend le cookie de session Secure
SESSION_DAYS14durée d’une session, en jours
MAX_ROWS2000lignes lues au plus par requête de l’interface
QUERY_TIMEOUT_MS120000délai maximal d’une requête
CACHE_TTL300durée du cache de résultats, en secondes, quand rien d’autre ne la fixe
DEMO1 en développement, 0 en productioncrée l’instance de démonstration au premier démarrage
INPROCESS_WORKER1 en développement, 0 en productionfait tourner le worker dans l’API
VariableDéfautRôle
DATABASE_URLpostgres://eodia:eodia@localhost:55435/eodiala base PostgreSQL du catalogue ; le compose de production la construit avec DB_PASSWORD
DATABASE_SCHEMAeodiale schéma du catalogue dans cette base
VariableDéfautRôle
TRINO_URLhttp://localhost:58080 ; http://trino:8080 dans le composel’adresse de Trino
TRINO_SERVICE_USEReodia-servicel’utilisateur Trino de l’application (catalogues, synchronisation), à qui l’endpoint OPA accorde tout
TRINO_PASSWORD—le mot de passe Trino, si votre cluster exige une authentification
TRINO_LOCALHOST_ALIAShost.docker.internal en développementle nom par lequel Trino, en conteneur, joint une base déclarée sur localhost
OPA_URL—lue par Trino : l’adresse de l’endpoint OPA, http://api:4100/internal/opa/<secret> ; le compose la construit
VariableDéfautRôle
PASSWORD_LOGIN10 coupe la connexion par mot de passe : SSO seul
OIDC_ISSUER—l’émetteur OpenID Connect ; active le SSO
OIDC_CLIENT_ID—l’identifiant du client OIDC
OIDC_CLIENT_SECRET—son secret, pour un client confidentiel
OIDC_LABELSe connecter avec SSOle libellé du bouton de connexion
OIDC_SCOPESopenid email profileles portées demandées
OIDC_ATTRIBUTE_CLAIMS—les claims copiés en attributs, séparés par des virgules : region,departement
OIDC_GROUPS_CLAIM—le claim qui porte les groupes à refléter

Voir Authentification unique.

VariableDéfautRôle
SMTP_URL—le serveur d’envoi, en URL de connexion SMTP : smtps://utilisateur:motdepasse@smtp.exemple.fr:465
SMTP_FROMeodia insights <noreply@localhost>l’expéditeur

Sans SMTP, aucun e-mail ne part : le lien d’une invitation s’affiche pour être transmis à la main.

VariableDéfautRôle
AI_PROVIDERanthropic si ANTHROPIC_API_KEY est définie, sinon openai si OPENAI_API_KEY l’est, sinon noneanthropic, openai, mistral, openai-compatible ou none
AI_API_KEYANTHROPIC_API_KEY, sinon OPENAI_API_KEYla clé du fournisseur
AI_MODELclaude-sonnet-5-5 (Anthropic), mistral-large-latest (Mistral), gpt-4.1 (les autres)le modèle
AI_BASE_URLl’adresse du fournisseurobligatoire pour openai-compatible
AI_HOURLY_QUOTA60messages du copilot par personne et par heure
AI_PROVIDER_SSL_VERIFYtruefalse : le certificat du fournisseur n’est pas vérifié — ses appels seulement

Voir Copilot.

VariableDéfautLue parRôle
API_PORT, API_HOST4100, 0.0.0.0l’APIson écoute
WEB_PORT3100l’image (rôle web)l’écoute de l’interface
API_URLhttp://localhost:4100l’interface (au build), le serveur MCPl’adresse de l’API
MCP_PORT, MCP_HOST4200, 0.0.0.0le serveur MCPson écoute
EODIA_URL, EODIA_TOKENhttp://localhost:4100, —le serveur MCP en stdiol’adresse de l’application et le jeton
WITH_MCP—l’image (rôle all)1 ajoute le serveur MCP au conteneur
VariableDéfautRôle
ACME_EMAIL—l’adresse de contact pour Let’s Encrypt
IMAGEeodia-insights:latestl’image utilisée pour api, worker, web et mcp

eodia insights est un logiciel libre d’Eodia.