Open WebUI ajoute à Ollama une interface web de discussion, multi-utilisateur. L’installation tient en une commande ; les comptes et l’exposition demandent plus d’attention.
Ce qu’apporte Open WebUI
Le README du projet décrit une interface de chat qui se connecte à Ollama et intègre un RAG local : documents appelés avec la commande #, recherche hybride BM25 et vectorielle, bases vectorielles au choix (ChromaDB, PGVector, Qdrant…). Le principe est détaillé dans ce billet.
Installer avec Docker
La commande de la documentation publie le port 3000 de l’hôte vers le port 8080 du conteneur, ajoute host.docker.internal pour joindre un Ollama installé sur la machine, range les données dans le volume open-webui et passe une clé de session WEBUI_SECRET_KEY, générée avec openssl rand -hex 32. Deux ajustements ci-dessous : la clé est rangée dans un fichier protégé plutôt que tapée en clair, ce qui la garde hors de l’historique du shell, et le port n’est publié que sur 127.0.0.1.
# clé de session, générée une fois et conservée
(umask 077; openssl rand -hex 32 > ~/.open-webui-secret)
docker run -d -p 127.0.0.1:3000:8080 \
--add-host=host.docker.internal:host-gateway \
-v open-webui:/app/backend/data \
-e WEBUI_SECRET_KEY="$(cat ~/.open-webui-secret)" \
--name open-webui --restart always \
ghcr.io/open-webui/open-webui:main
L’interface répond ensuite sur http://localhost:3000. Sans WEBUI_SECRET_KEY persistante, prévient la documentation, tout le monde est déconnecté à chaque recréation du conteneur.
Ou avec Python
pip install open-webui
open-webui serve
La page Quick Start indique Python 3.11 et 3.12, pas encore 3.13. Le serveur écoute alors sur le port 8080, et signe les sessions avec une clé écrite dans .webui_secret_key, dans le répertoire de lancement.
Connecter Ollama
Au démarrage, Open WebUI tente seul de joindre Ollama (port 11434). La connexion se gère dans Settings > Admin > Connections, bouton Manage. Depuis Docker, avec Ollama sur l’hôte, l’URL indiquée est http://host.docker.internal:11434 ; pour un Ollama distant, la variable OLLAMA_BASE_URL le désigne au lancement. Les modèles se téléchargent ensuite depuis l’interface.
En cas d’échec, la documentation désigne d’abord le réseau. Ouvrir l’API d’Ollama pour contourner n’est pas anodin : elle n’a pas d’authentification (voir ici).
Le premier compte est administrateur
Le premier compte créé devient administrateur : il gère les utilisateurs et tous les réglages de l’instance. Les inscriptions se ferment ensuite d’elles-mêmes. Tant que ce compte n’existe pas, le premier visiteur le devient : on le crée juste après le lancement.
Pour accueillir d’autres utilisateurs, New Sign Ups se réactive dans Settings > Admin > Authentication ; les nouveaux comptes restent alors en attente (Pending) jusqu’à validation dans l’Admin Panel. C’est aussi la valeur par défaut de DEFAULT_USER_ROLE.
Ne pas l’exposer sans précaution
Docker publie par défaut un port sur toutes les adresses de l’hôte, ce que sa documentation qualifie de non sécurisé par défaut. Pire, Docker et ufw sont incompatibles : le trafic vers un port publié est routé avant que les règles ufw ne s’appliquent. Un -p 3000:8080 reste donc joignable malgré un ufw en « deny ». Préfixer par 127.0.0.1 réserve l’accès à l’hôte, avec Docker 28.0.0 ou plus récent ; avant, la documentation signale que des hôtes du même segment L2 peuvent atteindre un port publié sur 127.0.0.1. Pour un accès distant, un reverse proxy en HTTPS devant ce port local, avec les comptes Open WebUI verrouillés comme ci-dessus.
Ce qu’il faut retenir
-p 127.0.0.1:3000:8080plutôt que-p 3000:8080, avec Docker 28.0.0 ou plus récent : Docker publie sur toutes les interfaces et passe devant ufw.- Créer le compte administrateur tout de suite : le premier inscrit le devient.
- Une
WEBUI_SECRET_KEYgénérée une fois et conservée, sinon déconnexion générale à chaque recréation. - Après le premier lancement, les ConfigVar se règlent dans l’interface, plus par variable d’environnement.
In English
Install Open WebUI with Docker or Python, connect it to Ollama, secure the first administrator account, and publish its port only on 127.0.0.1, because Docker bypasses ufw. The first account created becomes administrator before sign-ups close, and without a persistent WEBUI_SECRET_KEY every container recreation logs all users out.
Sources & vérification
Relevé sur : Documentation Open WebUI et Docker, relevé 2026-10
- Open WebUI, Quick Start docs.openwebui.com
- Open WebUI, Starting with Ollama docs.openwebui.com
- Open WebUI, Environment Variable Configuration docs.openwebui.com
- Open WebUI, dépôt GitHub github.com
- Ollama, Authentication docs.ollama.com
- Docker, Port publishing and mapping docs.docker.com
- Docker, Packet filtering and firewalls docs.docker.com
