Installation d’Open WebUI et configuration d’OmniProxy
Vous souhaitez réunir vos modèles locaux et cloud dans une même fenêtre de discussion, mais craignez que le déploiement et la connexion soient trop complexes ? Open WebUI propose une interface de chat familière : après l’installation, il suffit de renseigner les paramètres de connexion en suivant les étapes pour commencer à l’utiliser.
Open WebUI est une interface de chat que vous pouvez déployer vous-même sur votre ordinateur ou votre serveur, et qui peut également fonctionner entièrement hors ligne. Elle n’est liée à aucun fournisseur de modèles particulier : elle peut aussi bien se connecter à des outils exécutant des modèles en local, comme Ollama, qu’à des API compatibles avec le format OpenAI, c’est-à-dire des adresses proposant des modèles avec le même format de requête. Vous pouvez ainsi passer des modèles locaux aux modèles cloud dans une même fenêtre.
Elle convient à une utilisation à long terme par les équipes et les organisations. Les fonctionnalités évoluant le plus rapidement apparaissent d’abord dans Computer, le produit utilisé par Open WebUI pour expérimenter de nouvelles fonctions.
Préparation avant l’installation
Open WebUI peut être utilisé sous macOS, Linux et Windows. Vous pouvez l’installer avec Docker, Python ou Kubernetes. Docker installe l’application et son environnement d’exécution dans un conteneur relativement isolé ; c’est la méthode recommandée. Si Docker n’est pas disponible, vous pouvez également utiliser la commande Python testée ci-dessous. Kubernetes est un système de déploiement et de gestion de conteneurs ; les étapes correspondantes sont disponibles dans le Quick Start indiqué à la fin de ce guide.
Méthode officiellement recommandée
Docker
- Une seule commande docker run
- Ouvrir le port 3000 dans le navigateur
- Les données se trouvent dans le volume
Pour discuter uniquement
Image slim
- Le téléchargement est plus léger
- Remplacer le tag par :slim
- La fonction de discussion reste disponible
Non détaillé ici
Deux autres méthodes
- Installation manuelle avec Python
- Déploiement avec Kubernetes
- Consulter le guide de démarrage rapide officiel
Avant de commencer, préparez les éléments suivants :
- Une installation de Docker fonctionnelle.
- Une chaîne secrète réservée à votre usage. Exécutez
openssl rand -hex 32pour la générer, puis renseignez-la dansWEBUI_SECRET_KEY. Conservez toujours la même valeur : si vous la modifiez lors de la recréation du conteneur, toutes les personnes déjà connectées seront déconnectées. - Une instance OmniProxy en cours d’exécution, ainsi qu’un ID de modèle figurant dans sa liste actuelle de modèles. L’ID de modèle est le nom complet utilisé pour sélectionner un modèle précis.
Installation et premier démarrage
Ouvrez un terminal et exécutez la commande du Quick Start. Remplacez d’abord your-secret-key par la chaîne secrète que vous venez de générer :
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data -e WEBUI_SECRET_KEY=your-secret-key --name open-webui --restart always ghcr.io/open-webui/open-webui:main
Les options de cette commande ont les fonctions suivantes :
-p 3000:8080: permet d’ouvrir l’interface via le port 3000 de cet ordinateur. Si le port 3000 est déjà utilisé, modifiez le nombre situé à gauche.-v open-webui:/app/backend/data: stocke les conversations, les utilisateurs et les paramètres dans un volume de données. Un volume est un emplacement persistant situé hors du conteneur ; son contenu est conservé après la mise à jour du conteneur. Ne supprimez donc pas cette option.--add-host=host.docker.internal:host-gateway: permet au conteneur d’accéder aux autres services exécutés sur cet ordinateur.--restart always: redémarre le conteneur après le redémarrage de l’ordinateur.
Une fois la commande exécutée, ouvrez http://localhost:3000 dans votre navigateur et suivez les instructions affichées pour créer le premier compte.
Si vous utilisez uniquement le chat via une API, vous pouvez remplacer l’étiquette d’image :main par :slim. slim est une image plus légère qui n’inclut pas les modèles locaux de synthèse vocale et d’embedding dans le conteneur, mais l’interface de chat reste disponible. Si vous avez besoin de ces fonctions locales, continuez à utiliser :main.
Pour effectuer une mise à jour manuelle, exécutez d’abord docker rm -f open-webui, puis docker pull ghcr.io/open-webui/open-webui:main, et relancez enfin le service avec la même commande docker run. Le volume de données et la valeur de WEBUI_SECRET_KEY doivent rester inchangés.
Sans Docker
Le Quick Start propose également une méthode d’installation avec Python. Le 2026-10-09, la commande ci-dessous a permis d’installer Open WebUI v0.11.4 sous macOS et d’effectuer une conversation. Docker Desktop n’était pas installé sur cet ordinateur lors du test.
DATA_DIR=~/.open-webui uvx --python 3.11 open-webui@latest serve
Après le démarrage, ouvrez http://localhost:8080 dans votre navigateur. Il s’agit du port utilisé par l’installation Python, et non du port 3000 utilisé avec Docker.
Lors du premier démarrage, un modèle d’embedding est téléchargé, ce qui peut prendre quelques minutes. Un modèle d’embedding convertit le texte en données adaptées à la recherche et à la mise en correspondance. Attendez que la page de connexion apparaisse avant de continuer. Le premier compte créé devient administrateur. La langue de l’interface suit celle du système ; lors de ce test, elle était affichée en chinois simplifié.
DATA_DIR doit pointer vers un répertoire conservé à long terme afin d’y stocker les données d’Open WebUI. Si cette variable n’est pas définie, les données peuvent être enregistrées dans un répertoire temporaire et perdues après l’arrêt. Si WEBUI_SECRET_KEY n’est pas définie, le programme écrit un fichier .webui_secret_key dans le répertoire courant. Lancez-le depuis un répertoire que vous comptez conserver, ou définissez vous-même cette variable.
Récupération des paramètres de connexion depuis OmniProxy
Copiez les trois éléments suivants depuis votre propre instance OmniProxy :
URL: https://your-omniproxy-origin.example/v1
API Key: <YOUR_OMNIPROXY_API_KEY>
Model ID: copiez l’ID complet depuis la liste actuelle des modèles OmniProxy
L’URL est l’adresse qu’Open WebUI utilise pour se connecter à l’API et doit se terminer par /v1. N’ajoutez pas /chat/completions à la fin : Open WebUI ajoute lui-même cette partie.
L’ID de modèle doit être copié intégralement depuis la liste actuelle d’OmniProxy. Si l’ID contient un préfixe de provenance et une barre oblique, conservez-les également. Les deux noms courts ci-dessous sont uniquement donnés à titre de comparaison avec la documentation des fournisseurs au 2026-10-09. Ne les utilisez pas s’ils ne figurent pas dans la liste actuelle :
- ID de Claude Sonnet 5.5 pour la Claude API :
claude-sonnet-5-5 - Nom d’API de Gemini 3.8 Flash :
gemini-3.8-flash
Ne saisissez pas la clé du fournisseur dans Open WebUI. Si la passerelle ne vérifie pas les clés, laissez le champ de clé API vide au lieu d’inventer une autre clé.
Navigateur
Port local 3000
- Ouvrir la page de discussion
- Terminer d’abord l’inscription
- Puis accéder aux paramètres
Dans le conteneur
Open WebUI
- Ne pas utiliser localhost
- Utiliser plutôt le nom de la machine hôte
- L’URL se termine par /v1
Sur le même ordinateur
OmniProxy
- Conserver la clé dans la passerelle
- Se fier à la liste des modèles de la passerelle
- Puis consulter le journal des appels
Si le service de modèles fonctionne sur la machine hôte tandis qu’Open WebUI fonctionne dans un conteneur Docker, remplacez localhost par host.docker.internal dans l’URL. La machine hôte est l’ordinateur sur lequel Docker s’exécute directement. Si OmniProxy écoute uniquement sur cet ordinateur, l’URL peut prendre la forme http://host.docker.internal:port/v1, où port doit être remplacé par le port réellement utilisé par OmniProxy.
Si Open WebUI est exécuté localement avec la commande Python de la section précédente et qu’OmniProxy fonctionne également en local, utilisez 127.0.0.1 ou localhost dans l’adresse. Dans ce cas, n’utilisez pas host.docker.internal.
Saisie de la configuration dans l’outil
Dans l’interface en chinois simplifié de la version v0.11.4 testée le 2026-10-09, les intitulés différaient de Settings > Admin > Connections dans les instructions en anglais. Procédez selon les options réellement affichées dans votre interface :
- Développez la barre latérale gauche.
- Cliquez sur le menu utilisateur en bas.
- Cliquez sur Paramètres.
- Dans le groupe réservé à l’administration en bas de la page, cliquez sur Connexions externes.
- Ouvrez API OpenAI.
- Cliquez sur + à droite de Gérer les connexions aux API OpenAI.
- Dans la fenêtre Modifier la connexion, saisissez l’URL jusqu’à
/v1. Conservez Chat Completions comme type d’API. - Conservez Clé (Bearer) comme Méthode d’authentification. Bearer est une méthode qui place la clé API dans la requête afin d’authentifier celle-ci. Si OmniProxy vous a fourni une clé, saisissez-la dans Clé API. Si la passerelle ne vérifie pas les clés, laissez ce champ vide. Le 2026-10-09, la validation et une conversation ont toutes deux réussi avec ce champ vide.
- Cliquez sur Valider la connexion à côté de l’URL. Si OmniProxy fournit
/models, la liste des modèles sera récupérée ici. - Ouvrez Avancé. Si ID de modèle reste vide, tous les modèles renvoyés par
/modelsà cette adresse seront utilisés. Uniquement si la validation échoue, saisissez l’ID complet figurant dans la liste sous Ajouter un ID de modèle, puis cliquez sur Ajouter. N’ajoutez chaque ID qu’une seule fois ; les espaces placés avant ou après l’ID seront supprimés. - Cliquez sur Enregistrer dans cette fenêtre, puis à nouveau sur Enregistrer en bas à droite de la page des connexions externes.
L’enregistrement de la configuration ne remplace pas la validation. Valider la connexion envoie une requête au point d’accès /models du service distant, utilisé pour répertorier les modèles disponibles. Certains services ne proposent pas ce point d’accès : la validation peut alors signaler une erreur, même si le chat reste utilisable. Dans ce cas, ajoutez manuellement l’ID du modèle.
Vérification avec une tâche réelle
Revenez à la page de chat, ouvrez le menu des modèles à côté du champ de saisie, puis sélectionnez l’ID complet figurant dans la liste OmniProxy. Envoyez une phrase très courte, par exemple en demandant au modèle de répondre avec un seul mot. Une réponse doit effectivement apparaître dans la fenêtre de chat.
Le 2026-10-09, cette conversation a été réalisée avec l’installation Python de la version v0.11.4. Docker reste la méthode recommandée, mais ce test n’a pas été répété dans Docker.
Ouvrez ensuite les journaux d’appels d’OmniProxy et vérifiez la provenance de la requête ainsi que l’ID du modèle. La connexion n’est pas considérée comme finalisée si vous avez seulement vu la confirmation d’enregistrement ou si le modèle apparaît uniquement dans le menu.
Interface
Le modèle peut être sélectionné
- Les connexions sont enregistrées
- Le modèle apparaît dans la liste
- Envoyer une courte question
Réponse
Une réponse apparaît dans la fenêtre de discussion
- Le message n’est pas vide
- Il ne s’agit pas d’une erreur de connexion
- Réessayer avec un autre modèle
Journaux
La passerelle reçoit l’appel
- La source est cette connexion
- L’ID du modèle correspond
- Aucune clé n’a été saisie dans la page
Erreurs courantes
localhostou127.0.0.1est utilisé dans le conteneur : ces deux adresses désignent le conteneur lui-même, et non la machine hôte. Remplacez-les parhost.docker.internalet vérifiez que la commande de démarrage contient--add-host=host.docker.internal:host-gateway. Si Open WebUI ne fonctionne pas dans un conteneur, faites l’inverse et utilisez une adresse locale.- Le navigateur ne peut pas ouvrir la page : vérifiez le port 3000 avec Docker et le port 8080 avec Python. Lors du premier démarrage, attendez la fin du téléchargement du modèle d’embedding. La commande
docker pspermet de vérifier si le conteneur est en cours d’exécution. Si le port 3000 est déjà utilisé, modifiez le port situé à gauche de-p. - L’ID affiché dans le menu des modèles est plus long que le nom court du fournisseur : utilisez l’ID complet du menu, y compris les barres obliques qu’il contient.
- Tous les utilisateurs sont déconnectés après une mise à jour : la valeur de
WEBUI_SECRET_KEYa changé. Redémarrez avec la chaîne secrète générée lors de la première installation. - Échec de Valider la connexion : ajoutez d’abord manuellement l’ID du modèle sous Avancé, puis confirmez le fonctionnement avec une véritable requête de chat. Certains services ne proposent pas
/models; le chat peut donc rester utilisable même si la validation renvoie une erreur. - Le modèle n’existe pas : recopiez l’ID depuis la liste actuelle d’OmniProxy et cessez d’utiliser les noms obsolètes.
Références officielles
La commande d’installation est disponible dans Open WebUI Quick Start. Les étapes de connexion sont décrites dans les instructions de connexion OpenAI-compatible. Les ID de modèles utilisés comme exemples figurent dans la présentation des modèles Claude et la liste des modèles Gemini.
Remplacez chaque espace réservé par des valeurs de votre propre configuration OmniProxy. Ne publiez jamais une vraie clé.
Un résultat sauvegardé ou un HTTP 200 seul ne prouve pas une compatibilité complète de l'Agent. Vérifiez la source et le modèle dans l'enregistrement d'appel d'OmniProxy.