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 --build

Conversation, 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