[{"data":1,"prerenderedAt":177},["ShallowReactive",2],{"seo-verification":3,"blog-open-webui-ollama-vps-fr":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"id":7,"slug":8,"slugs":9,"title":13,"excerpt":14,"readTime":15,"views":16,"isPinned":17,"publishedAt":18,"category":19,"categories":25,"featuredImage":27,"bgImage":28,"posterImage":29,"relatedSolution":27,"intro":30,"sections":31,"ctaTitle":123,"ctaBody":124,"ctaButton":125,"ctaUrl":126,"relatedPosts":127},316,"open-webui-ollama-vps",{"fr":8,"en":10,"ar":11,"es":12},"open-webui-ollama-on-vps-multi-user-interface-for-local-llms","واجهة-ويب-open-webui-مع-ollama-على-vps-للفرق","open-webui-ollama-en-vps-interfaz-web-multiusuario-para-llm","Open-WebUI + Ollama sur VPS : interface multi-utilisateurs LLM","Offrez à votre équipe une interface web multi-utilisateurs sur vos modèles Ollama : RAG, gestion de modèles, SSO OpenID Connect, sans dépendance cloud.",9,0,false,"2026-08-30T00:00:00+00:00",{"id":20,"name":21,"slug":22,"color":23,"icon":24},1,"Intelligence Artificielle","intelligence-artificielle","bg-purple-500\u002F10 text-purple-400","ia",[26],{"id":20,"name":21,"slug":22,"color":23,"icon":24},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fopen-webui-ollama-vps-poster.svg","Ollama sert vos modèles de langage via une API locale. Open-WebUI ajoute la couche interface : une application web complète, avec gestion des utilisateurs, RAG sur vos documents, historique des conversations et authentification SSO. En déployant les deux sur votre VPS, vous donnez à toute votre équipe un accès à des LLM privés sans exposer l'API brute ni exiger de ligne de commande. Ce guide couvre l'installation, le reverse proxy, le SSO et la gestion des droits.",[32,36,46,49,68,71,74,77,105,108,111,113,120],{"type":33,"title":34,"body":35},"h2","Pourquoi ajouter Open-WebUI à votre serveur Ollama","Ollama expose une API REST compatible OpenAI — efficace pour les développeurs, inaccessible pour les autres membres d'une équipe. Open-WebUI comble cet écart : c'est une interface web complète qui se connecte à Ollama (ou à tout autre fournisseur compatible OpenAI) et transforme un serveur d'inférence en outil collaboratif.\n\nAvec plus de 150 000 étoiles sur GitHub (licence MIT), Open-WebUI est devenu le frontend de référence pour Ollama. Sa croissance a été amplifiée par la Series B d'Ollama — 65 millions de dollars levés en juillet 2026 — qui a accéléré l'adoption du moteur d'inférence dans les équipes de développement.\n\nLe projet est actif, maintenu de façon continue, et publie des tags stables (v0.6.x au moment de cet article). Sa maturité lui permet de couvrir des besoins qui vont bien au-delà du chat : RAG sur des fichiers locaux, gestion de plusieurs modèles, groupes d'utilisateurs et intégration SSO via OpenID Connect.",{"type":37,"title":38,"items":39},"ul","Ce qu'Open-WebUI apporte concrètement à votre stack Ollama",[40,41,42,43,44,45],"**Interface multi-utilisateurs** : chaque membre de l'équipe dispose de son compte, de son historique et de ses conversations — sans accès à l'API brute ni à la ligne de commande.","**RAG natif** : importez des fichiers PDF, Markdown ou Word directement depuis l'interface ; Open-WebUI les indexe et les injecte dans le contexte de chaque conversation.","**Gestion des modèles** : téléchargez, supprimez et activez des modèles Ollama depuis l'interface web, sans passer par `docker exec`.","**SSO OpenID Connect** : connectez Open-WebUI à votre fournisseur d'identité (Keycloak, Authentik, Google Workspace…) pour un accès unifié et une révocation centralisée.","**Groupes et rôles** : définissez qui peut accéder à quels modèles, qui peut télécharger des fichiers, qui a les droits d'administration.","**Aucune dépendance cloud** : tous les tokens, toutes les conversations et tous les fichiers restent sur votre infrastructure.",{"type":33,"title":47,"body":48},"Prérequis matériels et logiciels","Open-WebUI s'exécute en conteneur Docker et se connecte à Ollama via le réseau Docker interne. Les deux peuvent cohabiter sur le même VPS.\n\nPour un usage équipe de 5 à 10 personnes avec des modèles 7B quantisés (Q4), comptez au minimum :\n\n- **8 Go de RAM** (6 Go pour le modèle + marge pour Open-WebUI et le système)\n- **4 vCPU** : l'inférence sur CPU est lente avec moins de cœurs ; passez à 8 vCPU pour un confort d'usage quotidien\n- **30 Go de stockage SSD** minimum, plus l'espace pour vos modèles (un modèle 7B Q4 ≈ 4,5 Go, un modèle 13B ≈ 8 Go)\n- **Docker et Docker Compose** installés\n- Un **nom de domaine** pointant vers votre VPS (nécessaire pour TLS et le SSO)\n- Un **reverse proxy** avec HTTPS — Nginx, Traefik ou Caddy (Open-WebUI requiert HTTPS pour les cookies de session sécurisés)\n\nSi Ollama est déjà déployé sur votre VPS (voir l'article \u003Ca href=\"\u002Fblog\u002Fheberger-ollama-vps\">Comment héberger Ollama sur un VPS\u003C\u002Fa>), vous pouvez passer directement à l'installation d'Open-WebUI.",{"type":50,"title":51,"steps":52},"steps","Déployer Open-WebUI et Ollama avec Docker Compose",[53,56,59,62,65],{"title":54,"body":55},"Créer le fichier Docker Compose","Créez un répertoire de travail puis rédigez le fichier de composition :\n\n```bash\nmkdir -p \u002Fopt\u002Fopenwebui && cd \u002Fopt\u002Fopenwebui\n```\n\nContenu de `compose.yml` :\n\n```bash\nservices:\n  ollama:\n    image: ollama\u002Follama:latest\n    container_name: ollama\n    volumes:\n      - ollama_data:\u002Froot\u002F.ollama\n    restart: unless-stopped\n\n  open-webui:\n    image: ghcr.io\u002Fopen-webui\u002Fopen-webui:main\n    container_name: open-webui\n    depends_on:\n      - ollama\n    ports:\n      - \"127.0.0.1:3000:8080\"\n    environment:\n      - OLLAMA_BASE_URL=http:\u002F\u002Follama:11434\n      - WEBUI_SECRET_KEY=changez-cette-valeur-par-une-chaine-aleatoire\n    volumes:\n      - open_webui_data:\u002Fapp\u002Fbackend\u002Fdata\n    restart: unless-stopped\n\nvolumes:\n  ollama_data:\n  open_webui_data:\n```\n\nLa clé `WEBUI_SECRET_KEY` doit être une chaîne aléatoire longue : générez-la avec `openssl rand -hex 32`.",{"title":57,"body":58},"Démarrer la stack","Lancez les deux services :\n\n```bash\ndocker compose up -d\n```\n\nVérifiez que les deux conteneurs sont actifs :\n\n```bash\ndocker compose ps\n```\n\nOllama peut mettre quelques secondes à démarrer. Open-WebUI attend qu'Ollama soit prêt grâce à `depends_on`, mais si vous observez des erreurs de connexion au premier démarrage, attendez 15 secondes et rechargez.",{"title":60,"body":61},"Télécharger un premier modèle","Depuis le host, téléchargez un modèle via Ollama :\n\n```bash\ndocker exec -it ollama ollama pull llama3.1:8b\n```\n\nVous pouvez aussi le faire depuis l'interface Open-WebUI une fois connecté, dans **Panneau d'administration → Modèles → Télécharger depuis Ollama.com**.",{"title":63,"body":64},"Configurer le reverse proxy Nginx avec HTTPS","Open-WebUI écoute sur `127.0.0.1:3000`. Créez un virtual host Nginx pour l'exposer en HTTPS :\n\n```bash\nserver {\n    listen 443 ssl;\n    server_name openwebui.yourdomain.com;\n\n    ssl_certificate \u002Fetc\u002Fletsencrypt\u002Flive\u002Fopenwebui.yourdomain.com\u002Ffullchain.pem;\n    ssl_certificate_key \u002Fetc\u002Fletsencrypt\u002Flive\u002Fopenwebui.yourdomain.com\u002Fprivkey.pem;\n\n    location \u002F {\n        proxy_pass http:\u002F\u002F127.0.0.1:3000;\n        proxy_set_header Host $host;\n        proxy_set_header X-Real-IP $remote_addr;\n        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n        proxy_set_header X-Forwarded-Proto $scheme;\n\n        # WebSocket (nécessaire pour le streaming des réponses)\n        proxy_http_version 1.1;\n        proxy_set_header Upgrade $http_upgrade;\n        proxy_set_header Connection \"upgrade\";\n        proxy_read_timeout 300s;\n    }\n}\n```\n\nObtenez le certificat avec Certbot :\n\n```bash\ncertbot --nginx -d openwebui.yourdomain.com\n```\n\nL'entête `Connection: upgrade` et le `proxy_read_timeout` étendu sont indispensables : les réponses des LLM sont diffusées en streaming via WebSocket, et un timeout court coupe la réponse en pleine génération.",{"title":66,"body":67},"Créer le compte administrateur","Ouvrez `https:\u002F\u002Fopenwebui.yourdomain.com` dans votre navigateur. Le **premier compte créé devient automatiquement administrateur**. Renseignez un e-mail et un mot de passe.\n\nDepuis le panneau d'administration (**icône avatar → Panneau d'administration**), vous pouvez :\n- définir si de nouveaux inscrits sont actifs immédiatement ou en attente de validation ;\n- créer des groupes d'utilisateurs et leur associer des modèles ;\n- configurer le SSO.",{"type":33,"title":69,"body":70},"Configurer le SSO OpenID Connect","Open-WebUI prend en charge nativement l'authentification via OpenID Connect (OIDC). Vous pouvez l'intégrer à Keycloak, Authentik, Authelia, ou tout fournisseur compatible (y compris Google Workspace ou Microsoft Entra).\n\nDans `compose.yml`, ajoutez les variables d'environnement suivantes au service `open-webui` :\n\n```bash\nenvironment:\n  - OAUTH_CLIENT_ID=votre-client-id\n  - OAUTH_CLIENT_SECRET=votre-client-secret\n  - OPENID_PROVIDER_URL=https:\u002F\u002Fvotre-idp.example.com\u002F.well-known\u002Fopenid-configuration\n  - OAUTH_PROVIDER_NAME=Mon SSO\n  - ENABLE_OAUTH_SIGNUP=true\n```\n\nLa variable `ENABLE_OAUTH_SIGNUP=true` permet aux utilisateurs qui s'authentifient via SSO d'être créés automatiquement dans Open-WebUI. Mettez-la à `false` si vous souhaitez que l'administrateur provisionne chaque compte manuellement.\n\nL'URL de callback à déclarer dans votre fournisseur d'identité est `https:\u002F\u002Fopenwebui.yourdomain.com\u002Foauth\u002Foidc\u002Fcallback`.\n\nRedémarrez la stack après modification :\n\n```bash\ndocker compose up -d\n```",{"type":72,"body":73},"tip","Pour limiter l'accès SSO à un domaine e-mail spécifique (ex. `@votre-entreprise.com`), configurez la restriction directement dans votre fournisseur d'identité, pas dans Open-WebUI. Keycloak et Authentik permettent tous les deux de filtrer par domaine au niveau du client OIDC — c'est le point de contrôle le plus sûr, car il couvre aussi l'API.",{"type":33,"title":75,"body":76},"Activer le RAG sur vos documents","Open-WebUI intègre un pipeline RAG (Retrieval-Augmented Generation) qui permet d'interroger vos documents locaux dans une conversation. Le traitement se fait entièrement sur votre VPS — aucun document n'est envoyé à un service externe.\n\nPour activer le RAG :\n\n1. Depuis l'interface, cliquez sur le **trombone** dans la zone de saisie d'une conversation, ou utilisez l'onglet **Documents** dans le menu latéral.\n2. Importez un fichier PDF, Markdown, DOCX ou TXT. Open-WebUI le découpe, le vectorise et le stocke dans sa base de données locale.\n3. Dans la conversation, préfixez votre message avec `#` suivi du nom du document pour l'injecter comme contexte.\n\nPour un usage avancé (plusieurs documents, collections thématiques), la section **Espace de travail → Documents** permet d'organiser les fichiers en collections et de les associer à des modèles spécifiques.\n\nPar défaut, Open-WebUI utilise son propre moteur d'embeddings léger. Pour améliorer les performances sur un corpus important, vous pouvez configurer un modèle d'embeddings Ollama dédié (par exemple `nomic-embed-text`) dans **Panneau d'administration → Documents → Modèle d'embeddings**.",{"type":78,"title":79,"headers":80,"rows":84},"comparison","Open-WebUI, AnythingLLM, LibreChat : quelle interface choisir",[81,82,83],"Critère","Open-WebUI","AnythingLLM \u002F LibreChat",[85,89,93,97,101],[86,87,88],"Backend LLM","Ollama natif + tout endpoint OpenAI","OpenAI, Ollama, Azure, LM Studio",[90,91,92],"Gestion des utilisateurs","Intégrée, groupes, OIDC natif","Intégrée (AnythingLLM : espaces isolés)",[94,95,96],"RAG","Natif, sans configuration","Natif, configurable (LanceDB, pgvector)",[98,99,100],"Étoiles GitHub","150 000+ (MIT)","40 000+ (MIT) \u002F 20 000+ (MIT)",[102,103,104],"Cas d'usage principal","Équipe avec Ollama déjà déployé","RAG multi-sources avancé \u002F Chat multi-backend",{"type":33,"title":106,"body":107},"Dépannage : les erreurs courantes","**`Connection refused` au démarrage d'Open-WebUI.**\nOllama n'est pas encore prêt quand Open-WebUI tente de se connecter. Attendez 20 secondes et relancez `docker compose restart open-webui`. Pour éviter ce problème à chaque redémarrage, ajoutez un healthcheck sur le service Ollama dans `compose.yml`.\n\n**Le streaming s'interrompt après 60 secondes.**\nVotre reverse proxy applique un timeout HTTP par défaut. Ajoutez `proxy_read_timeout 300s;` dans le bloc `location \u002F` de Nginx (ou l'équivalent `timeout` dans Traefik). Les LLM prennent parfois plusieurs minutes pour générer une longue réponse.\n\n**`WebSocket connection failed`.**\nVérifiez que les entêtes `Upgrade` et `Connection` sont bien transmis par le reverse proxy. Sans eux, le streaming SSE\u002FWebSocket est bloqué et les réponses n'arrivent pas en temps réel.\n\n**L'authentification SSO renvoie `redirect_uri_mismatch`.**\nL'URL de callback déclarée dans votre fournisseur d'identité ne correspond pas à celle qu'Open-WebUI envoie. Elle doit être exactement `https:\u002F\u002Fopenwebui.yourdomain.com\u002Foauth\u002Foidc\u002Fcallback` — avec le nom de domaine complet, sans slash final.\n\n**Un utilisateur SSO peut se connecter mais n'a accès à aucun modèle.**\nLes nouveaux comptes créés via SSO sont placés par défaut dans le rôle `pending` si `ENABLE_OAUTH_SIGNUP` n'est pas configuré. Passez leur rôle à `user` dans **Panneau d'administration → Utilisateurs**, ou configurez `DEFAULT_USER_ROLE=user` dans les variables d'environnement.",{"type":33,"title":109,"body":110},"Sécuriser l'accès à l'API Ollama","Par défaut, Ollama écoute sur `0.0.0.0:11434` dans son conteneur. La configuration `compose.yml` proposée ci-dessus ne publie pas ce port sur l'hôte — seul Open-WebUI y accède via le réseau Docker interne. C'est la posture correcte.\n\nSi vous avez besoin d'accéder à l'API Ollama directement (depuis un IDE, un notebook Jupyter ou une application externe), deux options :\n\n1. **Tunnel SSH** : `ssh -L 11434:localhost:11434 user@votre-vps` — l'API est accessible localement sans exposition publique.\n2. **Reverse proxy avec authentification** : exposez Ollama derrière Nginx avec un `auth_basic` ou un token Bearer, si vous avez des clients qui ne supportent pas le tunnel SSH.\n\nNe publiez jamais le port 11434 directement sur l'interface publique sans authentification : l'API Ollama n'a aucune protection native contre les accès non autorisés.",{"type":72,"body":112},"Pour maintenir Open-WebUI à jour, modifiez l'image de `ghcr.io\u002Fopen-webui\u002Fopen-webui:main` en `ghcr.io\u002Fopen-webui\u002Fopen-webui:v0.6.x` (ou le dernier tag stable) dans votre `compose.yml`. Le tag `:main` suit le développement en continu — pratique pour tester les nouvelles fonctions, moins prévisible en production. Consultez les notes de version sur GitHub avant chaque mise à jour : certaines versions ont introduit des migrations de base de données.",{"type":37,"title":114,"items":115},"Fonctions avancées à explorer après le déploiement",[116,117,118,119],"**Pipelines et fonctions** : Open-WebUI permet d'écrire des fonctions Python qui s'intercalent dans le flux de conversation — filtres, enrichisseurs de contexte, connecteurs vers des APIs externes.","**Modèles personnalisés** : créez des « modèles » pré-configurés (instructions système, température, contexte) et partagez-les avec des groupes d'utilisateurs spécifiques.","**Image generation** : connectez Open-WebUI à une instance Stable Diffusion ou ComfyUI locale pour générer des images directement dans le chat.","**Intégration avec des outils externes** : via le protocole MCP (Model Context Protocol), Open-WebUI peut appeler des outils externes — bases de données, APIs REST, recherche web.",{"type":72,"title":121,"body":122},"La documentation officielle","Pour la configuration avancée et les options propres à l'outil, référez-vous à la \u003Ca href=\"https:\u002F\u002Fdocs.openwebui.com\">documentation officielle d'Open-WebUI\u003C\u002Fa>. Ce guide couvre le déploiement de base et les configurations les plus courantes — les paramètres spécifiques à votre environnement (intégration LDAP, configuration de pipelines, tuning des embeddings) se trouvent dans la documentation du projet.","Un VPS prêt pour Open-WebUI et Ollama","Open-WebUI avec Ollama nécessite un VPS avec accès root, Docker, et suffisamment de RAM pour charger vos modèles. Le VPS Cloud ServOrbit offre la scalabilité verticale nécessaire pour passer d'un modèle 7B à un modèle 13B sans migration.","Voir les VPS Cloud","\u002Fvps-cloud",[128,144,160],{"id":15,"slug":129,"slugs":130,"title":134,"excerpt":135,"readTime":136,"views":16,"isPinned":17,"publishedAt":137,"category":138,"categories":139,"featuredImage":27,"bgImage":28,"posterImage":141,"relatedSolution":142},"heberger-anythingllm-vps",{"fr":129,"en":131,"ar":132,"es":133},"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",{"id":20,"name":21,"slug":22,"color":23,"icon":24},[140],{"id":20,"name":21,"slug":22,"color":23,"icon":24},"\u002Fblog\u002Fcovers\u002Fheberger-anythingllm-vps-poster.svg",{"categorySlug":24,"appSlug":143},"anything-llm",{"id":145,"slug":146,"slugs":147,"title":151,"excerpt":152,"readTime":136,"views":16,"isPinned":17,"publishedAt":153,"category":154,"categories":155,"featuredImage":27,"bgImage":28,"posterImage":157,"relatedSolution":158},2,"deployer-dify-vps",{"fr":146,"en":148,"ar":149,"es":150},"deploying-dify-on-a-vps-ai-workflows-under-control","نشر-dify-على-vps-سير-عمل-الذكاء-الاصطناعي-تحت-السيطرة","desplegar-dify-en-un-vps","Déployer Dify sur un VPS : guide de l'installation aux plugins","Installez Dify sur VPS ServOrbit : prérequis chiffrés, déploiement Docker Compose, plugins offline, reverse proxy, dépannage.","2026-02-11T00:00:00+00:00",{"id":20,"name":21,"slug":22,"color":23,"icon":24},[156],{"id":20,"name":21,"slug":22,"color":23,"icon":24},"\u002Fblog\u002Fcovers\u002Fdeployer-dify-vps-poster.svg",{"categorySlug":22,"appSlug":159},"dify",{"id":161,"slug":162,"slugs":163,"title":167,"excerpt":168,"readTime":169,"views":16,"isPinned":17,"publishedAt":170,"category":171,"categories":172,"featuredImage":27,"bgImage":28,"posterImage":174,"relatedSolution":175},177,"self-host-langfuse-vps",{"fr":162,"en":164,"ar":165,"es":166},"self-host-langfuse-on-a-vps-llm-observability-no-saas-bill","استضافة-langfuse-على-vps-مراقبة-llm-بلا-فاتورة-saas","alojar-langfuse-en-un-vps","Héberger Langfuse sur un VPS : observabilité LLM sans SaaS","Auto-hébergez Langfuse sur un VPS : la plateforme open source d’observabilité LLM. Tracez chaque appel IA, évaluez vos prompts et suivez les coûts, sans SaaS.",7,"2026-07-12T00:00:00+00:00",{"id":20,"name":21,"slug":22,"color":23,"icon":24},[173],{"id":20,"name":21,"slug":22,"color":23,"icon":24},"\u002Fblog\u002Fcovers\u002Fself-host-langfuse-vps-poster.svg",{"categorySlug":24,"appSlug":176},"langfuse",1788099960803]