[{"data":1,"prerenderedAt":206},["ShallowReactive",2],{"seo-verification":3,"blog-anythingllm-1-17-rag-multi-utilisateurs-vps-docker-guide-fr":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-anythingllm-1-17-rag-multi-utilisateurs-vps-docker-guide-fr",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"publishedAt":20,"updatedAt":21,"category":22,"categories":28,"featuredImage":30,"bgImage":31,"posterImage":32,"relatedSolution":33,"intro":35,"sections":36,"ctaTitle":150,"ctaBody":151,"ctaButton":152,"ctaUrl":153,"relatedPosts":154},417,"anythingllm-1-17-rag-multi-utilisateurs-vps-docker-guide",{"fr":10,"en":12,"ar":13,"es":14},"anythingllm-117-multi-user-on-vps-complete-guide","دليل-anythingllm-117-متعدد-المستخدمين-على-خادم-vps","anythingllm-117-multiusuario-en-vps-guia-completa","AnythingLLM 1.17 multi-utilisateurs sur VPS : guide complet","Configurez AnythingLLM v1.17.0 en mode multi-utilisateurs sur un VPS de 4 Go RAM : espaces isolés par client, RAG sur vos documents, Vertex AI, sans abonnement SaaS.",10,0,false,"2026-10-06T00:00:00+00:00","2026-10-07T23:07:24+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},1,"Intelligence Artificielle","intelligence-artificielle","bg-purple-500\u002F10 text-purple-400","ia",[29],{"id":23,"name":24,"slug":25,"color":26,"icon":27},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fanythingllm-1-17-rag-multi-utilisateurs-vps-docker-guide-poster.svg",{"categorySlug":27,"appSlug":34},"anything-llm","AnythingLLM supporte le mode multi-utilisateurs depuis plusieurs versions, et la v1.17.0 (1er octobre 2026) pousse encore plus loin avec un rôle Manager dédié, la diarisation de réunions avec Nemotron 3 et Parakeet Redux, en complément du support natif de Google Vertex AI introduit dans la v1.16.2 (22 septembre 2026). Pour une agence ou un développeur qui paie un abonnement ChatGPT Team ou Claude for Teams, cette combinaison reproduit exactement ce modèle en self-hosted : espaces de travail isolés par client, RAG sur vos propres documents, et zéro donnée transmise à un tiers. Ce guide couvre la configuration Docker Compose fonctionnelle, la création d'utilisateurs via l'interface Admin, et les erreurs réelles rencontrées au montage.",[37,41,52,86,89,92,95,98,147],{"type":38,"title":39,"body":40},"h2","Ce que change la version v1.17.0 pour un usage agence","AnythingLLM supporte le mode multi-utilisateurs depuis plusieurs versions. La v1.17.0 (1er octobre 2026) affine ce système en ajoutant un troisième rôle — Manager — qui peut créer des espaces de travail, inviter des utilisateurs et gérer les documents sans pour autant accéder aux paramètres système comme les clés API ou la configuration LLM. Pour une agence, ce rôle permet de déléguer l'administration d'un client à un chef de projet sans exposer toute l'infrastructure. La diarisation de réunions s'appuie désormais sur Nemotron 3 pour la reconnaissance du locuteur et sur Parakeet Redux pour la transcription — deux modèles exécutables localement sur un VPS équipé d'un GPU, ou délégables à une API Nvidia. Google Vertex AI était déjà disponible depuis la v1.16.2 (22 septembre 2026) en tant que fournisseur LLM configurable directement depuis l'interface, sans patch manuel du fichier de configuration. Ces apports récents font de cette combinaison v1.16.2 + v1.17.0 la configuration la plus complète pour un usage multi-client structuré.",{"type":42,"title":43,"items":44},"ul","Prérequis avant de démarrer",[45,46,47,48,49,50,51],"**VPS 4 Go RAM minimum** — 2 vCPU \u002F 4 Go pour les API cloud, 4 vCPU \u002F 8 Go si vous embarquez un modèle d'embedding local ou Parakeet Redux","**20 Go de disque SSD** — les vecteurs LanceDB et le cache de documents grossissent avec le corpus ; prévoir de la marge","**Docker et Docker Compose v2** — vérifiez avec `docker compose version` (sans tiret) ; la v1 (tiret) ne supporte pas tous les healthchecks","**Un sous-domaine dédié** — par exemple `chat.votre-domaine.com` ; le port 3001 ne doit pas être exposé publiquement en direct","**Un reverse proxy actif** — Nginx ou Caddy pour le TLS Let's Encrypt et la limite d'upload de documents","**Une clé API LLM** — OpenAI, Anthropic, Vertex AI ou un Ollama local déjà en cours d'exécution sur le VPS","**Le port 3001 libre** — AnythingLLM l'utilise par défaut ; vérifiez avec `ss -tlnp | grep 3001` avant de lancer",{"type":53,"title":54,"steps":55},"steps","Déployer AnythingLLM v1.17.0 avec Docker Compose",[56,59,62,65,68,71,74,77,80,83],{"title":57,"body":58},"Créer l'arborescence et régler les permissions","Connectez-vous en SSH et créez le dossier de travail avec `mkdir -p \u002Fopt\u002Fanythingllm\u002Fstorage`. AnythingLLM tourne avec l'UID 1000 à l'intérieur du conteneur ; sans correction de permission, le volume refuse l'écriture au premier démarrage. Appliquez `chown -R 1000:1000 \u002Fopt\u002Fanythingllm\u002Fstorage`. Si vous avez préféré `chmod -R 777`, ça fonctionne mais élargit inutilement l'accès : préférez le `chown` ciblé.",{"title":60,"body":61},"Rédiger le fichier docker-compose.yml","Créez `\u002Fopt\u002Fanythingllm\u002Fdocker-compose.yml` avec le contenu suivant. Le service s'appelle `anythingllm`, image `mintplexlabs\u002Fanythingllm:latest`, `restart: unless-stopped`. Volumes : `.\u002Fstorage:\u002Fapp\u002Fserver\u002Fstorage`. Ports : `3001:3001` (à fermer au pare-feu, seul le reverse proxy y accède). Variables d'environnement dans la section `env_file: .env`. Réseau : créez un réseau `proxy` partagé avec votre reverse proxy pour éviter d'exposer le port 3001 sur l'interface publique.",{"title":63,"body":64},"Rédiger le fichier .env","Créez `\u002Fopt\u002Fanythingllm\u002F.env` avec au minimum les trois variables suivantes. `JWT_SECRET` : une chaîne aléatoire d'au moins 32 caractères, générée par `openssl rand -hex 32` — ne la changez jamais après le premier démarrage, tous les tokens de session sont invalidés. `STORAGE_DIR` : `\u002Fapp\u002Fserver\u002Fstorage` (doit correspondre au chemin cible du volume). `SERVER_PORT` : `3001`. Ajoutez ensuite les variables de votre fournisseur LLM, par exemple `LLM_PROVIDER=openai` et `OPEN_AI_KEY=sk-...` pour OpenAI, ou `LLM_PROVIDER=gemini` et `GEMINI_API_KEY=...` pour Vertex AI via l'adaptateur Gemini.",{"title":66,"body":67},"Démarrer le conteneur et vérifier les logs","Depuis `\u002Fopt\u002Fanythingllm`, lancez `docker compose up -d`. Attendez 30 secondes puis vérifiez que le service écoute avec `docker compose logs --tail=50`. Vous devez voir la ligne `Server started on port 3001`. Si le log affiche `EACCES: permission denied, mkdir '\u002Fapp\u002Fserver\u002Fstorage\u002F...'`, le `chown` de l'étape 1 n'a pas été appliqué au bon chemin — recommencez l'étape 1 puis `docker compose restart`.",{"title":69,"body":70},"Configurer le reverse proxy et obtenir le certificat TLS","Avec Nginx, créez un vhost qui proxifie `https:\u002F\u002Fchat.votre-domaine.com` vers `http:\u002F\u002F127.0.0.1:3001`. Ajoutez `client_max_body_size 100m` dans le bloc `server` pour autoriser l'upload de gros PDF. Demandez le certificat avec `certbot --nginx -d chat.votre-domaine.com`. Avec Caddy, la directive `reverse_proxy localhost:3001` suffit, le TLS est automatique.",{"title":72,"body":73},"Créer le compte administrateur lors du premier accès","Ouvrez `https:\u002F\u002Fchat.votre-domaine.com` dans un navigateur. L'interface vous propose de créer le premier compte administrateur — ce compte est le seul à pouvoir modifier les clés API, le fournisseur LLM et les paramètres système. Choisissez un mot de passe fort, AnythingLLM ne propose pas de réinitialisation par e-mail en self-hosted sans configuration SMTP supplémentaire.",{"title":75,"body":76},"Activer le mode multi-utilisateurs et inviter un second utilisateur","Dans l'interface Admin, allez dans Settings → Security → activez Multi-user mode. Un bouton Invite User apparaît dans le menu utilisateurs. Renseignez l'adresse e-mail, choisissez le rôle (Default ou Manager), et copiez le lien d'invitation généré. Le rôle Manager peut gérer les workspaces et les documents ; le rôle Default accède uniquement aux workspaces auxquels il est assigné.",{"title":78,"body":79},"Créer un espace de travail isolé et l'assigner à un utilisateur","Depuis le tableau de bord, cliquez sur New Workspace, nommez-le (par exemple `Client Dupont`). Glissez vos PDF dans le workspace, cliquez sur Save & Embed pour lancer la vectorisation. Une fois l'embedding terminé, allez dans les paramètres du workspace → Manage Users et ajoutez uniquement les utilisateurs autorisés. Les utilisateurs non assignés ne voient pas ce workspace.",{"title":81,"body":82},"Configurer Google Vertex AI comme fournisseur LLM","Dans Settings → LLM Provider, sélectionnez Google Gemini (qui utilise l'API Vertex AI sous le capot via l'adaptateur natif disponible depuis la v1.16.2). Renseignez votre clé API Google (`GEMINI_API_KEY`) et choisissez le modèle. Si vous préférez l'authentification par compte de service GCP, exportez `GOOGLE_APPLICATION_CREDENTIALS` vers le chemin du fichier JSON dans votre `.env` et redémarrez le conteneur avec `docker compose restart`.",{"title":84,"body":85},"Mettre à jour sans perte de données","Pour passer à une version supérieure, arrêtez le conteneur avec `docker compose down`, modifiez le tag de l'image dans `docker-compose.yml` (exemple : `mintplexlabs\u002Fanythingllm:v1.17.0`), puis exécutez `docker compose pull && docker compose up -d`. Vos données sont dans `.\u002Fstorage` monté en volume : elles survivent à la mise à jour. Vérifiez les logs après redémarrage pour vous assurer qu'aucune migration de schéma n'a échoué.",{"type":87,"body":88},"tip","Épinglez une version précise dans votre `docker-compose.yml` plutôt que d'utiliser le tag `latest`. La commande `docker image ls mintplexlabs\u002Fanythingllm` vous donne la version actuellement téléchargée. Ainsi, une mise à jour ne s'applique que quand vous le décidez, et vous pouvez revenir en arrière en changeant uniquement le tag puis en relançant `docker compose up -d`.",{"type":38,"title":90,"body":91},"Gérer les espaces de travail et les rôles en pratique","Une fois le mode multi-utilisateurs activé, l'interface Admin expose trois vues distinctes : Users (liste des comptes, rôles, statut actif), Workspaces (liste globale avec le nombre de documents et de conversations) et Invites (liens d'invitation en attente). Pour une agence gérant dix clients, la bonne pratique est de créer un workspace par client, d'y rattacher un utilisateur Manager par client, et de laisser les collaborateurs en rôle Default avec accès limité aux seuls workspaces qui les concernent. Le rôle Manager ne peut pas voir les clés API ni changer le fournisseur LLM : ce cloisonnage évite qu'un client puisse observer la configuration d'un autre. Les conversations restent dans le workspace — elles ne migrent pas si vous déplacez un document entre workspaces. Pensez à nommer vos workspaces de façon explicite dès le départ : renommer un workspace ne modifie pas les chemins de stockage internes, mais peut semer la confusion dans les logs.",{"type":38,"title":93,"body":94},"Sauvegarder et restaurer l'instance","Tout l'état d'AnythingLLM tient dans le volume `.\u002Fstorage` : base vectorielle LanceDB, métadonnées des documents, configuration de l'instance et historique des conversations. Une sauvegarde consiste à archiver ce dossier pendant que le conteneur est arrêté, ou à utiliser `rsync` vers un stockage distant pendant que le conteneur tourne — LanceDB tolère les lectures concurrentes. Pour une sauvegarde programmatique, ajoutez un service `cron` dans votre compose qui exécute `tar -czf \u002Fbackup\u002Fanythingllm-$(date +%Y%m%d).tar.gz \u002Fopt\u002Fanythingllm\u002Fstorage`. La restauration suit le chemin inverse : copiez l'archive dans `.\u002Fstorage` en respectant les permissions `1000:1000`, puis `docker compose up -d`. Le `.env` contient le `JWT_SECRET` : sauvegardez-le séparément, chiffré, car sa perte invalide toutes les sessions actives et les tokens d'API éventuels.",{"type":38,"title":96,"body":97},"Dépannage : erreurs réelles rencontrées au montage","Voici les cinq erreurs documentées les plus fréquentes lors du déploiement d'AnythingLLM v1.17.0, avec le message exact et la correction appliquée. Première erreur : `EACCES: permission denied, mkdir '\u002Fapp\u002Fserver\u002Fstorage\u002Fvector-cache'` au démarrage. Cause : le dossier `storage` appartient à root mais le conteneur tourne avec l'UID 1000. Correction : `chown -R 1000:1000 \u002Fopt\u002Fanythingllm\u002Fstorage` puis `docker compose restart`. Deuxième erreur : `address already in use :::3001` dans les logs. Cause : un autre service occupe le port. Correction : `ss -tlnp | grep 3001` pour identifier le processus conflictuel, puis le stopper ou changer `SERVER_PORT` dans `.env`. Troisième erreur : `Invalid JWT secret — all sessions invalidated` après un redémarrage. Cause : la variable `JWT_SECRET` a changé. Correction : restaurez la valeur initiale de `JWT_SECRET` ou demandez à tous les utilisateurs de se reconnecter. Quatrième erreur : uploads de PDF bloqués à 1 Mo malgré la configuration. Cause : `client_max_body_size` est défini dans le bloc `http` de Nginx mais pas dans le bloc `server` du vhost — le plus local l'emporte. Vérifiez avec `nginx -T | grep client_max_body_size`. Cinquième erreur : le workspace ne retourne aucune réponse sourcée après l'embedding. Cause : le modèle d'embedding sélectionné à l'ingestion diffère du modèle actif. Les vecteurs sont incompatibles. Correction : supprimez les documents, changez le modèle d'embedding dans les paramètres du workspace, puis réingérez.",{"type":99,"title":100,"headers":101,"rows":107},"comparison","AnythingLLM vs alternatives RAG auto-hébergées",[102,103,104,105,106],"Critère","AnythingLLM v1.17.0","Open WebUI","LibreChat","PrivateGPT",[108,114,120,126,132,135,140,143],[109,110,111,112,113],"RAG documentaire intégré","Oui — PDF, Word, URL, Notion, GitHub","Import basique sans pipeline RAG","Via plugin RAG (config manuelle)","Oui — optimisé documents confidentiels",[115,116,117,118,119],"Mode multi-utilisateurs","Admin \u002F Manager \u002F Default — supporté nativement, rôle Manager affiné en v1.17.0","Gestion basique des utilisateurs","Oui avec rôles par conversation","Non — mono-utilisateur par défaut",[121,122,123,124,125],"Espaces de travail isolés par client","Oui — cloisonnement natif par workspace","Non — conversations partagées","Limité — par conversation uniquement","Non",[127,128,129,130,131],"Fournisseurs LLM supportés","20+ (Ollama, OpenAI, Vertex AI, Anthropic…)","Ollama + compatibles OpenAI","OpenAI, Azure, Anthropic, Ollama…","Ollama et compatibles OpenAI",[133,134,125,125,125],"Diarisation de réunions","Oui — Nemotron 3 + Parakeet Redux (v1.17.0)",[136,137,138,139,137],"RAM minimale (API cloud)","~512 Mo","~256 Mo","~384 Mo",[141,142,125,125,125],"Interface no-code agents IA","Oui",[144,145,145,145,146],"Licence","MIT","Apache 2.0",{"type":38,"title":148,"body":149},"Pour aller plus loin sur votre infrastructure IA","AnythingLLM v1.17.0 couvre le cas d'usage RAG multi-client sur un seul VPS. Si votre corpus dépasse plusieurs millions de vecteurs, envisagez de déporter la base vectorielle vers Qdrant dans un conteneur voisin — AnythingLLM le supporte nativement depuis les paramètres de l'instance. Pour les équipes qui veulent comparer les interfaces avant de se décider, l'article sur Open WebUI, LibreChat et Dify détaille les critères de choix selon le profil d'usage. Si vos documents sont soumis à des exigences de confidentialité strictes (RGPD, données médicales, contrats sensibles), l'article sur PrivateGPT explique comment travailler en mode entièrement local sans aucun appel réseau sortant. Ces trois ressources sont complémentaires et couvrent la majorité des architectures IA self-hosted rencontrées en production sur un VPS.","Votre environnement AnythingLLM prêt en quelques minutes","Le template VPS AnythingLLM du catalogue ServOrbit pré-configure l'environnement Docker, les volumes et les permissions au démarrage — vous arrivez directement à l'étape de création du compte administrateur.","Activer cette solution","\u002Fmarketplace\u002Fia\u002Fanything-llm",[155,172,188],{"id":156,"slug":157,"slugs":158,"title":162,"excerpt":163,"readTime":164,"views":18,"isPinned":19,"publishedAt":165,"updatedAt":166,"category":167,"categories":168,"featuredImage":30,"bgImage":31,"posterImage":170,"relatedSolution":171},9,"heberger-anythingllm-vps",{"fr":157,"en":159,"ar":160,"es":161},"how-to-host-anythingllm-on-a-vps","كيفية-استضافة-anythingllm-على-خادم-vps","como-alojar-anythingllm-en-un-vps","AnythingLLM sur VPS : guide complet avec pièges à éviter","Hébergez AnythingLLM sur VPS : Docker, HTTPS, epinglage de version obligatoire. Pièges :latest, Gemini v1.16 et Ollama réseau Docker documentés.",8,"2026-06-11T00:00:00+00:00","2026-09-07T11:26:10+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[169],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fheberger-anythingllm-vps-poster.svg",{"categorySlug":27,"appSlug":34},{"id":173,"slug":174,"slugs":175,"title":179,"excerpt":180,"readTime":17,"views":23,"isPinned":19,"publishedAt":181,"updatedAt":166,"category":182,"categories":183,"featuredImage":30,"bgImage":31,"posterImage":185,"relatedSolution":186},329,"open-webui-vs-librechat-vs-dify-choisir-interface-ia-vps",{"fr":174,"en":176,"ar":177,"es":178},"open-webui-librechat-dify-which-one-to-choose-on-a-vps","open-webui-أو-librechat-أو-dify-أيها-تختار-على-vps","open-webui-librechat-dify-cual-elegir-en-un-vps","Open WebUI, LibreChat, Dify : lequel choisir sur VPS ?","Open WebUI, LibreChat ou Dify : trois interfaces IA open source, trois profils d'usage. Trois questions pour choisir en moins de cinq minutes.","2026-09-04T00:00:00+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[184],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fopen-webui-vs-librechat-vs-dify-choisir-interface-ia-vps-poster.svg",{"categorySlug":27,"appSlug":187},"open-webui",{"id":189,"slug":190,"slugs":191,"title":195,"excerpt":196,"readTime":197,"views":18,"isPinned":19,"publishedAt":198,"updatedAt":199,"category":200,"categories":201,"featuredImage":30,"bgImage":31,"posterImage":203,"relatedSolution":204},281,"privategpt-documents-confidentiels-vps",{"fr":190,"en":192,"ar":193,"es":194},"privategpt-on-a-vps-analyze-confidential-documents-locally","تشغيل-privategpt-على-vps-تحليل-المستندات-السرية-محليا","privategpt-en-vps-documentos-confidenciales","PrivateGPT sur VPS : traitez vos documents confidentiels en local","Analysez contrats, liasses fiscales et dossiers RH avec PrivateGPT sur VPS, sans envoyer une donnée vers le cloud. Conforme RGPD et AI Act article 50.",7,"2026-08-18T00:00:00+00:00","2026-09-23T15:23:17+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[202],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fprivategpt-documents-confidentiels-vps-poster.svg",{"categorySlug":27,"appSlug":205},"private-gpt",1791414736893]