Ce document décrit toutes les variables d'environnement nécessaires à la configuration des services Devana.ai.
Ces variables définissent le contexte dans lequel l'application est lancée, ce qui peut affecter le logging, l'optimisation et l'activation de certaines fonctionnalités de débogage.
| Variable | Description | Exemples |
|---|---|---|
NODE_ENV | Définit l'environnement d'exécution de l'application. | production, development, test |
Configuration pour les tâches automatisées qui s'exécutent à des intervalles réguliers.
| Variable | Description | Valeur par défaut |
|---|---|---|
RUN_CRON | Active (true) ou désactive (false) l'exécution globale des tâches cron. | false |
CRON_UPDATE_PROVIDERS | Expression Cron pour la planification de la tâche de mise à jour des fournisseurs de données. | 0 * * * * (toutes les heures) |
Paramètres de base concernant les points d'accès réseau, les URL publiques et la licence de l'application.
| Variable | Description | Valeur par défaut |
|---|---|---|
PORT | Port d'écoute du serveur principal de l'API. | 4666 |
WS_PORT | Port d'écoute du serveur WebSocket. | 5001 |
API_URI | URL publique complète de l'API. | - |
CLIENT_URI | URL publique complète de l'application cliente (front-end). | - |
ODIN_API_URL | URL pour l'API ODIN. | - |
LICENCE ou LICENSE | Clé de licence de l'application. | - |
Configuration des connexions aux services et bases de données dont l'application dépend.
| Variable | Description | Exemple de format |
|---|---|---|
DATABASE_URL | Chaîne de connexion complète pour la base de données PostgreSQL. | postgresql://USER:PASSWORD@HOST:PORT/DATABASE |
Utilisé pour le cache, la gestion des sessions et les files d'attente.
| Variable | Description |
|---|---|
REDIS_HOST | Hôte du serveur Redis. |
REDIS_PORT | Port du serveur Redis. |
REDIS_PASSWORD | (Optionnel) Mot de passe pour la connexion à Redis. |
Base de données vectorielle utilisée pour stocker et rechercher des embeddings.
| Variable | Description |
|---|---|
CHROMA_HOST | Hôte de l'instance ChromaDB. |
CHROMA_API_KEY | (Optionnel) Clé d'API pour ChromaDB. |
Moteur de recherche utilisé pour l'indexation et la recherche plein texte.
| Variable | Description |
|---|---|
MEILI_HOST | Hôte de l'instance Meilisearch. |
MEILI_MASTER_KEY | (Optionnel) Clé maître pour l'administration de Meilisearch. |
Configuration pour le stockage de fichiers (documents, etc.). Vous ne devez configurer qu'un seul fournisseur : soit AWS S3, soit Azure Storage.
| Variable | Description |
|---|---|
CLOUD_BUCKET_NAME | Nom du bucket (S3) ou du conteneur (Azure) de stockage. |
| Variable | Description |
|---|---|
AWS_S3_ACCESS_KEY_ID | ID de la clé d'accès AWS. |
AWS_S3_SECRET_ACCESS_KEY | Clé d'accès secrète AWS. |
AWS_S3_ENDPOINT | Endpoint du service S3 (requis, ex: https://s3.eu-west-3.amazonaws.com). |
AWS_S3_REGION | (Optionnel) Région AWS du bucket. |
AWS_S3_DOMAIN | (Optionnel) Domaine personnalisé pour l'accès aux fichiers. |
| Variable | Description |
|---|---|
AZURE_CLIENT_ID | ID Client de l'application Azure. |
AZURE_CLIENT_SECRET | Secret client de l'application Azure. |
AZURE_TENANT_ID | ID du Tenant (annuaire) Azure. |
AZURE_STORAGE_ACCOUNT_NAME | Nom du compte de stockage Azure. |
AZURE_STORAGE_ACCOUNT_KEY | Clé d'accès du compte de stockage. |
Ces variables configurent les connexions aux modèles de langage pour la génération de texte, les embeddings, et l'utilisation d'outils.
Note : L'application supporte une nouvelle méthode de configuration via une variable JSON unique (_JSON), mais reste rétrocompatible avec les anciennes variables individuelles. La méthode JSON est recommandée.
Cette variable permet de restreindre l'utilisation des modèles d'IA.
| Variable | Description | Valeur par défaut |
|---|---|---|
USE_ONLY_CUSTOM_MODEL | Si définie à true, l'application utilisera uniquement les modèles personnalisés fournis via les variables ..._JSON. Aucun modèle par défaut ou pré-configuré ne sera disponible. C'est utile pour forcer l'usage de modèles spécifiques (ex: auto-hébergés) pour des raisons de sécurité ou de conformité. | false |
Utilisé pour transformer le texte en vecteurs numériques.
| Variable | Description |
|---|---|
EMBEDDING_JSON | Un objet JSON (sous forme de chaîne de caractères) contenant la configuration complète du modèle d'embedding (modèle, clé API, baseURL, etc.). |
EMBEDDING_INDEX_JSON | (Optionnel) Idem, mais pour un modèle d'embedding spécifique à l'indexation. |
| Variable | Description |
|---|---|
DEVANA_EMBEDDINGS_APIKEY | Clé API pour le service d'embedding. |
DEVANA_EMBEDDINGS_HOST | URL de base du service d'embedding. |
DEVANA_EMBEDDINGS_MODEL | Nom du modèle d'embedding. |
... | Variables similaires pour le modèle d'indexation (..._INDEX_...). |
Modèle de langage capable d'appeler des fonctions (outils).
| Variable | Description |
|---|---|
TOOLMODEL_JSON | (Optionnel) Un objet JSON (sous forme de chaîne de caractères) contenant la configuration du ToolModel. |
| Variable | Description |
|---|---|
TOOLMODEL_API_KEY | Clé API pour le service du ToolModel. |
TOOLMODEL_BASE_URL | URL de base du service du ToolModel. |
TOOLMODEL_MODEL | Nom du modèle. |
Gestion de l'accès aux différentes sources de données (ex: SharePoint, Jira).
| Variable | Description | Valeur par défaut |
|---|---|---|
ALLOW_PROVIDER_MULTIACCOUNT_ACCESS | (Optionnel) Permet à un utilisateur de se connecter à plusieurs comptes pour un même fournisseur (ex: plusieurs comptes SharePoint). | false |
AUTO_DELETE_FILES_PROVIDERS | (Optionnel) Supprime automatiquement les fichiers importés par les fournisseurs après traitement dans le bucket du client. | false |
Configuration du serveur SMTP pour l'envoi d'e-mails transactionnels (tous optionnels).
| Variable | Description |
|---|---|
MAIL_HOST | Hôte du serveur SMTP. |
MAIL_PORT | Port du serveur SMTP. |
MAIL_SECURE | Utiliser une connexion sécurisée (true/false). |
MAIL_USER | Nom d'utilisateur pour l'authentification SMTP. |
MAIL_PASS | Mot de passe pour l'authentification SMTP. |
SUPPORT_EMAIL | Adresse e-mail affichée pour le support. |
Configuration d'un proxy pour les requêtes HTTP/HTTPS sortantes (tous optionnels).
| Variable | Description |
|---|---|
HTTP_PROXY | URL du proxy pour les requêtes HTTP. |
HTTPS_PROXY | URL du proxy pour les requêtes HTTPS. |
LLM_PROXY | URL d'un proxy spécifique pour les appels aux modèles de langage (LLM). |
Paramètres de bas niveau pour ajuster le comportement du RAG (Retrieval-Augmented Generation) et les limites de traitement.
| Variable | Description | Valeur par défaut |
|---|---|---|
EMBEDDING_MAXIMAL_SCORE | Score de similarité maximal pour considérer un chunk comme pertinent. | 1 |
MAX_TOKENS_TOOLS_CALLBACK | Nombre maximum de tokens pour le retour des outils. | 20000 |
DEFAULT_EXTRACT_FILE_MAX_BATCH_SIZE | Nombre de fichiers traités en parallèle lors de l'extraction. | 3 |
| Variable | Description | Valeur par défaut |
|---|---|---|
RAG_ABSOLUTE_MAX_TOKENS | Limite absolue de tokens pour le contexte du modèle. | 120000 |
RAG_ESTIMATED_TOKENS_PER_CHUNK | Estimation du nombre de tokens par chunk de document. | 600 |
RAG_MAX_ATTACHMENTS_PER_PAGE | Nombre maximum de pièces jointes par page. | 3 |
RAG_MAX_CHUNK_SIZE | Taille maximale d'un chunk de texte (en caractères). | 2000 |
RAG_MAX_HISTORY_MESSAGES | Nombre maximum de messages dans l'historique de conversation. | 50 |
RAG_MAX_HISTORY_TOKENS | Nombre maximum de tokens alloués à l'historique. | 1000 |
RAG_MAX_PAGES | Nombre maximum de pages de documents à récupérer. | 10 |
RAG_SAFETY_MARGIN | Marge de sécurité (ex: 0.85 pour 85%) pour le calcul du contexte. | 0.85 |
Configuration des connexions aux services et bases de données fondamentaux dont l'application dépend.
| Variable | Description |
| :------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------- |
| DATABASE_URL | Chaîne de connexion complète pour la base de données PostgreSQL, incluant l'utilisateur, le mot de passe, l'hôte, le port, le nom de la base et le schéma. | postgresql://USER:PASSWORD@HOST:PORT/DATABASE?schema=SCHEMA |
Utilisé pour la mise en cache, la gestion des files d'attente et d'autres tâches en arrière-plan.
| Variable | Description |
|---|---|
REDIS_HOST | Hôte du serveur Redis. |
REDIS_PORT | Port d'écoute du serveur Redis. |
REDIS_PASSWORD | (Optionnel) Mot de passe pour la connexion à Redis. |
Configuration pour le stockage d'objets (documents, images, etc.). Le système est compatible avec AWS S3 ou des solutions auto-hébergées comme Minio.
| Variable | Description |
|---|---|
S3_BUCKET | Nom du bucket où les fichiers seront stockés. |
S3_ACCESS_KEY | Clé d'accès (Access Key ID) pour le service S3. |
S3_SECRET_KEY | Clé secrète (Secret Access Key) pour le service S3. |
S3_ENDPOINT | URL complète du service S3. |
S3_REGION | Région du bucket (ex: eu-west-3). |
S3_PUBLIC_URL | (Optionnel) URL publique de base pour accéder directement aux fichiers stockés, si différente de l'endpoint. |
Configuration des points d'accès (URL) pour les services internes ou externes dont l'application dépend.
| Variable | Description |
|---|---|
DEVANA_API_URL | URL interne de l'API principale, utilisée pour la communication entre services. |
GOTENBERG_URL | URL de l'instance Gotenberg, utilisée pour la conversion de documents (ex: génération de PDF). |
Configuration de la connexion au modèle de langage (Large Language Model) utilisé pour la vision et la génération de texte.
| Variable | Description |
|---|---|
LLM_API_URL | URL du point d'accès (endpoint) de l'API du LLM (ex: Ollama, TGI, OpenAI compatible). |
LLM_API_KEY | |
LLM_MODEL |
Paramètres de configuration liés à la sécurité du réseau et aux certificats.
| Variable | Description | Exemple |
|---|---|---|
NODE_EXTRA_CA_CERTS | (Optionnel) Chemin d'accès à un fichier de certificats d'autorité (CA) supplémentaires. Utile pour les environnements d'entreprise utilisant des certificats TLS/SSL auto-signés. | /certs/ca.crt |
Ce document détaille les variables d'environnement requises pour le fonctionnement de l'application front-end (Next.js).
Ces variables sont cruciales pour la sécurité de l'application, notamment pour la gestion des sessions utilisateur et la validation des jetons d'authentification. Elles doivent être gardées secrètes.
| Variable | Description |
|---|---|
JWT_SECRET_KEY | Clé secrète utilisée pour signer et vérifier les JSON Web Tokens (JWT). Elle garantit que les jetons n'ont pas été altérés. |
NEXTAUTH_SECRET | Clé secrète requise par NextAuth.js pour chiffrer les cookies de session et les jetons JWT. Cette variable est critique pour la sécurité de l'authentification. |
Cette variable définit le point d'accès au serveur back-end, permettant au front-end de communiquer avec lui pour récupérer ou envoyer des données.
| Variable | Description |
|---|---|
API_URL | URL complète du serveur API back-end. Cette URL est principalement utilisée par le serveur Next.js (pour le rendu côté serveur - SSR) afin de communiquer avec l'API. |
RAG_XML_OVERHEAD | Estimation du surcoût en tokens lié au formatage XML. | 500 |