Open WebUI + Docker : créer son interface ChatGPT sans internet | IT-ADMIN Open WebUI + Docker : créer son interface ChatGPT sans internet | IT-ADMIN

IT-ADMIN

Services Informatique


Open WebUI + Docker : créer son interface ChatGPT sans internet

Vous utilisez Ollama pour exécuter des LLM en local, mais l’interface en ligne de commande vous semble limitée ? Open WebUI transforme votre serveur en une véritable alternative à ChatGPT, avec une interface web moderne et des fonctionnalités avancées. Ce tutoriel vous guide dans l’installation complète avec Docker sur Ubuntu.

Qu’est-ce qu’Open WebUI ?

Open WebUI est une solution utilisateur auto-hébergée conçue pour interagir avec des modèles de langage (LLM). Compatible avec Ollama, les API OpenAI et OpenRouter, elle offre une expérience similaire à ChatGPT tout en gardant vos données en local.

Parmi ses fonctionnalités principales :

  • Interface responsive : fonctionne sur ordinateur, tablette et mobile (PWA)
  • RAG intégré : discutez avec vos documents PDF, Word, ou pages web
  • Multi-utilisateurs : gestion des rôles et permissions
  • Recherche web : intégration avec DuckDuckGo, Google, Brave Search
  • Génération d’images : compatible DALL-E, ComfyUI, Stable Diffusion
  • Synthèse vocale : transcription audio avec Whisper

Prérequis

Avant de commencer, assurez-vous d’avoir :

  • Ubuntu 20.04, 22.04 ou 24.04
  • Docker et Docker Compose installés
  • Ollama fonctionnel (voir notre tutoriel d’installation)
  • Au moins 4 Go de RAM disponible
  • Port 3000 disponible (ou un autre de votre choix)

Installation de Docker (si nécessaire)

Si Docker n’est pas encore installé sur votre système :

# Installation rapide de Docker
curl -fsSL https://get.docker.com | sh

# Ajouter votre utilisateur au groupe docker
sudo usermod -aG docker $USER

# Redémarrer la session pour appliquer
newgrp docker

Méthode 1 : Installation avec Docker Run

La méthode la plus simple pour démarrer rapidement :

docker run -d \
  -p 3000:8080 \
  --add-host=host.docker.internal:host-gateway \
  -v open-webui:/app/backend/data \
  --name open-webui \
  --restart always \
  ghcr.io/open-webui/open-webui:main

Explication des paramètres :

  • -p 3000:8080 : expose le port 3000 sur votre machine
  • --add-host=host.docker.internal:host-gateway : permet au conteneur d’accéder à Ollama sur l’hôte
  • -v open-webui:/app/backend/data : persiste vos données (conversations, paramètres)
  • --restart always : redémarre automatiquement le conteneur

Accédez ensuite à http://localhost:3000 pour créer votre compte administrateur.

Variante avec GPU NVIDIA

Si vous disposez d’une carte graphique NVIDIA et du NVIDIA Container Toolkit :

docker run -d \
  -p 3000:8080 \
  --gpus all \
  --add-host=host.docker.internal:host-gateway \
  -v open-webui:/app/backend/data \
  --name open-webui \
  --restart always \
  ghcr.io/open-webui/open-webui:cuda

Variante tout-en-un (Open WebUI + Ollama)

Si Ollama n’est pas encore installé, vous pouvez utiliser l’image qui inclut les deux :

docker run -d \
  -p 3000:8080 \
  -v ollama:/root/.ollama \
  -v open-webui:/app/backend/data \
  --name open-webui \
  --restart always \
  ghcr.io/open-webui/open-webui:ollama

Méthode 2 : Installation avec Docker Compose (recommandée)

Pour une gestion plus flexible, créez un fichier docker-compose.yml :

mkdir -p ~/open-webui && cd ~/open-webui
nano docker-compose.yml

Collez cette configuration :

version: '3.8'

services:
  open-webui:
    image: ghcr.io/open-webui/open-webui:main
    container_name: open-webui
    ports:
      - "3000:8080"
    volumes:
      - open-webui:/app/backend/data
    extra_hosts:
      - "host.docker.internal:host-gateway"
    environment:
      - OLLAMA_BASE_URL=http://host.docker.internal:11434
      - WEBUI_SECRET_KEY=votre-cle-secrete-ici
    restart: unless-stopped

volumes:
  open-webui:

Lancez ensuite le conteneur :

docker compose up -d

Variables d’environnement importantes

VariableDescriptionValeur par défaut
OLLAMA_BASE_URLURL du serveur Ollamahttp://localhost:11434
WEBUI_SECRET_KEYClé pour les sessions persistantesAuto-générée
ENABLE_SIGNUPAutoriser les inscriptionstrue
DEFAULT_USER_ROLERôle par défaut des nouveaux utilisateurspending
WEBUI_AUTHActiver l’authentificationtrue

Configuration initiale

Création du compte administrateur

À la première connexion sur http://localhost:3000, créez votre compte. Le premier utilisateur inscrit devient automatiquement administrateur.

Connexion à Ollama

Open WebUI détecte automatiquement Ollama s’il fonctionne sur l’hôte. Vérifiez la connexion dans Paramètres → Connexions. Si vous voyez vos modèles Ollama listés, la connexion est établie.

Télécharger un modèle depuis l’interface

Vous pouvez installer de nouveaux modèles directement depuis Open WebUI. Cliquez sur le sélecteur de modèle, tapez le nom du modèle souhaité (ex: llama3.2) et cliquez sur « Pull from Ollama.com ».

Fonctionnalités avancées

RAG : discuter avec vos documents

Le RAG (Retrieval Augmented Generation) permet d’interroger vos propres documents. Pour l’utiliser :

  1. Cliquez sur le bouton + à gauche du champ de message
  2. Uploadez un fichier PDF, Word, ou autre
  3. Posez vos questions sur le contenu

Vous pouvez aussi créer des bases de connaissances permanentes dans Workspace → Knowledge pour centraliser vos documents.

Intégrer des pages web

Tapez # suivi d’une URL dans le chat pour inclure le contenu d’une page web comme contexte :

#https://docs.openwebui.com/features/rag/ Résume cette pageLangage du code : PHP (php)

Recherche web

Activez la recherche web dans Admin Panel → Settings → Web Search. Choisissez un fournisseur comme DuckDuckGo (gratuit) ou configurez une API Google/Brave. Les résultats de recherche seront injectés dans le contexte de vos conversations.

Configuration du modèle d’embedding

Pour de meilleures performances RAG, installez un modèle d’embedding dédié :

ollama pull nomic-embed-text

Puis dans Admin Panel → Settings → Documents :

  • Embedding Model Engine : Ollama
  • Embedding Model : nomic-embed-text

Mise à jour d’Open WebUI

Mise à jour manuelle

# Arrêter et supprimer le conteneur
docker stop open-webui
docker rm open-webui

# Télécharger la dernière image
docker pull ghcr.io/open-webui/open-webui:main

# Relancer le conteneur (avec la même commande qu'à l'installation)
docker run -d \
  -p 3000:8080 \
  --add-host=host.docker.internal:host-gateway \
  -v open-webui:/app/backend/data \
  --name open-webui \
  --restart always \
  ghcr.io/open-webui/open-webui:main

Mise à jour automatique avec Watchtower

Pour des mises à jour automatiques, utilisez Watchtower :

docker run -d \
  --name watchtower \
  --restart unless-stopped \
  -v /var/run/docker.sock:/var/run/docker.sock \
  nickfedor/watchtower \
  --interval 86400 \
  open-webui

Cette commande vérifie les mises à jour toutes les 24 heures (86400 secondes).

Dépannage

Open WebUI ne trouve pas Ollama

Vérifiez qu’Ollama écoute sur toutes les interfaces :

# Éditer le service Ollama
sudo systemctl edit ollama

# Ajouter :
[Service]
Environment="OLLAMA_HOST=0.0.0.0"

# Redémarrer
sudo systemctl restart ollama

Erreur de connexion après mise à jour

Si vous êtes déconnecté après chaque mise à jour, définissez une clé secrète fixe dans votre configuration Docker Compose ou via la variable WEBUI_SECRET_KEY.

Performances lentes avec les documents

Ajustez les paramètres de chunking dans Admin Panel → Settings → Documents :

  • Chunk Size : 2000-3000 caractères
  • Chunk Overlap : 100-200 caractères
  • Top K : 3-5 (nombre de fragments récupérés)

Open WebUI transforme votre installation Ollama en une plateforme IA complète. Avec ses fonctionnalités RAG, sa gestion multi-utilisateurs et son interface intuitive, c’est l’outil idéal pour créer votre propre ChatGPT privé. Dans notre prochain tutoriel, nous explorerons les meilleurs modèles LLM open-source de 2026 et leurs cas d’usage spécifiques.

Ressources utiles :

IT-ADMIN

IT-ADMIN

Nous sommes à votre disposition.

I will be back soon

IT-ADMIN
Bonjour 👋 Merci de l'intérêt que vous nous portez. Avant de commencer, puis-je connaître votre nom ?
Whatsapp Besoin d'aide ?