Référence de l’environnement Prism
Chaque clé de Prism/.env.example est décrite ci-dessous. Les exemples sont des valeurs de départ, pas des identifiants à réutiliser. Gardez votre .env privé et limitez ses permissions.
Environnement, réglages sauvegardés et mises à jour
Les réglages AI provider enregistrés priment sur les valeurs IA initiales du serveur. Compose contrôle chemins, réseaux et montages. Modifier .env ne change pas un conteneur en cours : recréez le service concerné. Un simple docker compose restart ne recharge pas son environnement.
chmod 600 .env
docker compose up -d --buildConversation, embeddings et vision
LLM_BACKEND
- Exemple / défaut
ollama- Rôle
- Backend de conversation initial : ollama, openai ou anthropic.
- Utilisation
- Utilisez openai pour vLLM, SGLang, llama.cpp et les passerelles compatibles. Les réglages enregistrés dans AI provider remplacent ce choix initial.
OLLAMA_URL
- Exemple / défaut
http://host-gateway:11434- Rôle
- Racine de l’API Ollama vue depuis le conteneur Prism ; sans /v1.
- Utilisation
- Utilisez http://ollama:11434 pour un service Ollama sur le même réseau Compose. host-gateway vise l’hôte Docker, dont le service Ollama doit accepter les connexions venant de Docker.
OLLAMA_MODEL
- Exemple / défaut
qwen3.6:27b- Rôle
- Tag initial du modèle de conversation Ollama.
- Utilisation
- Entrez le tag exact installé et annoncé par Ollama. Téléchargez d’abord le modèle ; RAM et VRAM dépendent de sa taille et de sa quantification. Ce réglage ne télécharge aucun modèle.
OPENAI_BASE_URL
- Exemple / défaut
http://host-gateway:8000/v1- Rôle
- Racine d’API OpenAI ou d’un serveur compatible.
- Utilisation
- Ajoutez /v1 pour les serveurs compatibles. Utilisez https://api.openai.com/v1 pour OpenAI, un nom de service Docker ou une adresse accessible pour votre serveur. Ne mettez pas d’identifiants dans l’URL.
OPENAI_API_KEY
- Exemple / défaut
(empty)- Rôle
- Identifiant Bearer de l’endpoint compatible OpenAI.
- Utilisation
- Nécessaire chez OpenAI et sur les passerelles protégées ; laissez vide seulement si votre endpoint n’exige pas d’authentification. Conservez-la dans le .env privé ou le formulaire chiffré AI provider.
OPENAI_MODEL
- Exemple / défaut
assistant- Rôle
- Identifiant initial du modèle quand LLM_BACKEND=openai.
- Utilisation
- Copiez l’ID exact de /v1/models, y compris un éventuel alias de modèle servi. assistant est ici un alias à configurer sur votre serveur, pas un nom de modèle à télécharger.
ANTHROPIC_API_KEY
- Exemple / défaut
(empty)- Rôle
- Clé API pour les modèles Anthropic.
- Utilisation
- Utilisez une clé API de la console Anthropic. Un abonnement au chat Claude ou une connexion Claude Code ne constitue pas une clé API utilisable par Prism. Une clé configurée peut ajouter cette source à côté du fournisseur par défaut.
ANTHROPIC_MODEL
- Exemple / défaut
(provider model ID)- Rôle
- Identifiant Anthropic de secours ou par défaut.
- Utilisation
- Utilisez un ID accessible à votre compte API. Il devient le modèle initial avec LLM_BACKEND=anthropic ; l’interface permet ensuite de lister et choisir les modèles disponibles.
ANTHROPIC_BASE_URL
- Exemple / défaut
(empty)- Rôle
- Racine facultative d’un proxy pour l’API Anthropic.
- Utilisation
- Vide utilise https://api.anthropic.com. Modifiez uniquement pour un proxy de confiance implémentant l’API Anthropic ; n’utilisez pas ici un endpoint OpenAI /v1.
EMBED_MODEL
- Exemple / défaut
qwen3-embedding:8b- Rôle
- Modèle d’embeddings initial pour la recherche documentaire.
- Utilisation
- Il est distinct du modèle de conversation. Téléchargez-le sur Ollama ou servez-le via /v1/embeddings. Le changement de modèle d’un index existant exige une reconstruction depuis AI provider.
EMBED_BACKEND
- Exemple / défaut
(empty)- Rôle
- Backend d’embeddings initial : ollama ou openai.
- Utilisation
- Vide suit le backend de conversation, sauf Anthropic qui se replie sur Ollama puisqu’il ne propose pas d’API d’embeddings. Choisissez explicitement si les deux fonctions sont hébergées séparément ; l’interface accepte aussi une source dédiée.
CHAT_VISION
- Exemple / défaut
true- Rôle
- Hypothèse initiale sur la prise en charge des images par le modèle de conversation.
- Utilisation
- Mettez false pour un modèle textuel. AI provider → Model settings permet de régler la vision par source et modèle ou d’utiliser les métadonnées du fournisseur. Un test de connexion textuel ne valide pas la vision.
VISION_MODEL
- Exemple / défaut
(empty)- Rôle
- Modèle facultatif décrivant les images pour le repli textuel.
- Utilisation
- Choisissez un modèle réellement multimodal disponible sur le backend de description configuré. Utile si le modèle de conversation est textuel ; laisser vide n’installe pas de modèle visuel.
Services et accès
POSTGRES_URL
- Exemple / défaut
postgres://rag:rag@postgres:5432/rag?sslmode=disable- Rôle
- Chaîne de connexion PostgreSQL pour la persistance et pgvector.
- Utilisation
- La valeur fournie correspond à la base incluse. Une base externe nécessite pgvector, une adresse accessible et des identifiants correspondants. Pour une base distante, configurez son mode TLS. Changer l’URL ne migre pas les données.
SEARXNG_URL
- Exemple / défaut
http://searxng:8080- Rôle
- Service de recherche utilisé par les outils de recherche web.
- Utilisation
- Conservez l’URL du service Compose ou indiquez votre endpoint SearXNG accessible. Vide désactive cette intégration de recherche. Ce n’est pas l’adresse de votre fournisseur IA.
PRISM_TOKEN
- Exemple / défaut
(generate a unique secret)- Rôle
- Jeton de service et jeton d’accès au dashboard mono-user.
- Utilisation
- Générez-le avec openssl rand -hex 32. Vide supprime l’authentification par jeton du mode mono-user. En mode partagé, les personnes ont des comptes ; gardez ce jeton privé car les intégrations peuvent utiliser son identité privilégiée.
MULTI_USER
- Exemple / défaut
(empty)- Rôle
- Active les comptes, groupes et Admin avec 1 ou true.
- Utilisation
- Choisissez avant le premier démarrage. La configuration et les secrets existants migrent vers le premier administrateur. Retirer le paramètre n’est pas un retour arrière pris en charge : sauvegardez avant de convertir une installation.
TZ
- Exemple / défaut
UTC- Rôle
- Fuseau de secours du serveur pour l’agent et les nouvelles planifications.
- Utilisation
- Utilisez un fuseau IANA comme Europe/Paris ou America/Martinique, pas GMT+2. Chaque utilisateur peut le remplacer dans Settings → Profile. Les cron avec un fuseau explicite conservent leur propre réglage.
VOX_URL
- Exemple / défaut
(empty)- Rôle
- Racine HTTP interne de la console/API PrismVox facultative.
- Utilisation
- Sur un réseau Docker partagé, utilisez http://ui:7860 ou un alias réseau explicite. Vide masque la téléphonie. Configurez aussi PrismVox vers Prism ; consultez le guide de connexion.
VOX_USER
- Exemple / défaut
(empty)- Rôle
- Identifiant Basic Auth de l’API d’administration PrismVox.
- Utilisation
- Faites-le correspondre à UI_USER de PrismVox si sa console est protégée. Ce n’est ni un identifiant SIP ni le compte Prism d’un appelant.
VOX_PASSWORD
- Exemple / défaut
(empty)- Rôle
- Mot de passe Basic Auth associé à VOX_USER.
- Utilisation
- Faites-le correspondre à UI_PASSWORD de PrismVox et gardez-le secret. Après rotation du mot de passe de la console, mettez à jour l’intégration et recréez prism-server.
Workspace, Docker et stockage
WORKSPACE
- Exemple / défaut
(empty)- Rôle
- Variante de l’image workspace sélectionnée lors d’un build depuis les sources.
- Utilisation
- Vide sélectionne l’image de base ; gpu sélectionne la variante CUDA/PyTorch, beaucoup plus volumineuse. Reconstruisez le workspace et ajoutez un override de réservation de périphérique NVIDIA pour accéder au GPU. Ce n’est pas le fournisseur de chat.
AGENT_CONTAINER
- Exemple / défaut
prism-workspace- Rôle
- Nom du conteneur d’exécution contrôlé par Prism.
- Utilisation
- Gardez le nom fourni, sauf si vous changez aussi celui du conteneur workspace dans Compose. Il s’agit de l’environnement d’exécution, pas d’un onglet workspace du dashboard.
WORKSPACE_DIR
- Exemple / défaut
/workspace- Rôle
- Racine des fichiers d’exécution à l’intérieur du serveur Prism.
- Utilisation
- Conservez le même chemin de volume partagé dans prism-server et workspace. C’est un chemin interne aux conteneurs, pas un dossier de votre ordinateur à saisir ici.
PLUGIN_DIR
- Exemple / défaut
/workspace/.plugins- Rôle
- Emplacement des fichiers des widgets du dashboard.
- Utilisation
- Gardez-le dans le volume persistant du workspace. Le modifier seul ne déplace ni les widgets existants ni leurs métadonnées.
SERVICE_PORT_START
- Exemple / défaut
20000- Rôle
- Premier port hôte attribué aux services Docker créés par l’agent.
- Utilisation
- Choisissez une plage libre avec SERVICE_PORT_END. Le Compose fourni ne transmet pas ces deux variables : ajoutez-les à prism-server.environment dans un override avant de les modifier.
SERVICE_PORT_END
- Exemple / défaut
20999- Rôle
- Dernier port hôte disponible pour les services créés par l’agent.
- Utilisation
- Doit être supérieur ou égal à SERVICE_PORT_START et rester dans les ports TCP valides. Tenez compte des services existants et du pare-feu ; un numéro de port ne rend pas un service privé.
LIVE_CONTEXT_CHAR_BUDGET
- Exemple / défaut
(unset; unknown-model fallback 150000)- Rôle
- Plafond facultatif du budget de contexte actif de l’agent.
- Utilisation
- Laissez non défini pour utiliser le contexte détecté ou configuré pour chaque modèle. Utilisez Model settings pour un modèle à 500000 tokens ; cette variable est un plafond en équivalent caractères/octets, pas un nombre de tokens.
DOCKER_MODE
- Exemple / défaut
host- Rôle
- Backend Docker utilisé pour les services créés par l’agent.
- Utilisation
- host utilise le démon de l’hôte et exige des utilisateurs de confiance. workspace vise un démon déjà provisionné dans l’environnement d’exécution ; il n’installe pas Docker-in-Docker et ne crée pas de sandbox d’isolation.
WORKSPACE_DOCKER_SOCKET
- Exemple / défaut
unix:///run/user/1000/docker.sock- Rôle
- Adresse du démon Docker utilisé en mode workspace.
- Utilisation
- Faites-le correspondre au socket réel du démon interne. Ignoré en mode host. Ce réglage ne fournit pas un démon qui n’est pas installé et démarré.
WORKSPACE_DOCKER_USER
- Exemple / défaut
1000- Rôle
- Identité utilisée pour les commandes Docker dans l’environnement d’exécution.
- Utilisation
- Faites-le correspondre au propriétaire autorisé à accéder au démon interne. Le défaut vise un démon rootless sous l’UID 1000 ; modifiez-le avec le provisionnement de cet environnement.
NOTES_VAULT_PATH
- Exemple / défaut
(empty)- Rôle
- Dossier absolu facultatif de l’hôte à monter sous /vault.
- Utilisation
- Indiquez un dossier de vault Markdown existant, recréez prism-server, puis choisissez Markdown vault et /vault dans Settings → Notes. Vide utilise un volume géré. Sauvegardez les fichiers avant d’autoriser l’écriture.
Options Compose supplémentaires et compatibilité
NO_PROXY complète les adresses internes exclues du proxy. PRISM_ANTHROPIC_TOOL_SEARCH et PRISM_CLAUDE_LAZY_TOOLS sont des options expérimentales de découverte des outils Anthropic, désactivées par défaut ; laissez-les absentes pour le catalogue standard. Compose les transmet mais les recettes d’installation n’en ont pas besoin.
Le profil protonmail facultatif active le service Bridge inclus. Son mot de passe IMAP/SMTP généré se renseigne dans Email ; le .env standard ne configure pas le compte Proton.
Options avancées et câblage interne
Ces options sont lues par les processus mais ne sont pas toutes transmises par le Compose standard. Ajouter un nom au .env ne suffit pas si aucune entrée environment ne le référence. Utilisez un override pour le service concerné puis recréez-le ; préférez les réglages d’interface pour les changements ordinaires.
OPENAI_REASONING_EFFORT
Effort de raisonnement par défaut des API compatibles OpenAI. Vide ou none omet le champ. Le réglage personnel Agent peut remplacer ce défaut ; choisissez une valeur acceptée par le modèle.
Service : prism-server · Défaut : medium
OLLAMA_NUM_CTX
Contexte de repli en tokens demandé à Ollama. Le réglage par modèle est le contrôle habituel ; une valeur élevée exige mémoire et prise en charge effectives côté modèle.
Service : prism-server · Défaut : 32768
HISTORY_REPLAY_MAX_MESSAGES
Plafond positif de lignes rechargées pour une conversation, distinct du contexte modèle en tokens. Sans valeur, Prism l’adapte au budget de contexte, entre 200 et 20000 lignes. Une petite valeur explicite peut écarter de l’historique malgré un grand contexte modèle.
Service : prism-server · Défaut : Automatique
CHANNEL_CONTEXT_CHAR_BUDGET
Budget d’historique en caractères pour canaux de groupe/rooms ; 0 restaure le budget du déploiement. Ce n’est pas une limite en tokens et cela ne modifie pas les capacités du modèle fournisseur.
Service : prism-server · Défaut : 30000
PORT
Écoute HTTP interne. Tout changement exige d’aligner routage Compose, sondes et proxy ; le port navigateur dépend séparément des ports publiés.
Service : prism-server · Défaut : 8080
SECRET_KEY_PATH
Fichier privé de clé de chiffrement hors de WORKSPACE_DIR, dans un stockage serveur persistant. Le défaut est dérivé du chemin workspace. Sauvegardez/restaurez cette clé avec la base ; choisir un chemin vide ne déchiffre pas les anciens identifiants.
Service : prism-server · Défaut : Automatique
Exemple : transmettre une option de processus
services:
prism-server:
environment:
OPENAI_REASONING_EFFORT: "none"Enregistrez dans compose.runtime.yml et ajoutez-le à vos fichiers Compose existants. Cet exemple omet reasoning_effort pour un backend qui refuse ce champ ; ce n’est pas une recommandation pour tous les modèles.
docker compose -f docker-compose.yml -f compose.runtime.yml up -d --no-deps prism-server