Open WebUI · Docker · 2026

Open WebUI en Docker
et Docker Compose : guide complet 2026

Déployer Open WebUI avec Ollama en Docker ou Docker Compose, sur votre laptop ou sur un VPS, en 5 minutes chrono.

5 min
Premier déploiement
95%
Success rate Docker
2026
Images officielles
ℹ️Réponse directe — Open WebUI Docker 2026

Commande Docker rapide (laptop) : 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

Pour un déploiement durable (VPS ou équipe), préférez Docker Compose avec un fichier YAML versionné dans Git. Les 3 images officielles : :main (standard), :ollama (bundle Ollama inclus), :cuda (support GPU NVIDIA).

Pourquoi Docker s’impose pour Open WebUI

Docker représente plus de 85% des installations d’Open WebUI en 2026. Les 4 avantages concrets qui expliquent cette adoption massive :

Isolation : le conteneur n’affecte pas votre installation Python, Node.js ou autre. Pas de conflits de dépendances, pas de pollution de votre système.

Portabilité : la même commande fonctionne identiquement sur Mac, Windows et Linux. Déployez en 5 minutes sur n’importe quelle machine.

Mises à jour atomiques : docker pull + redémarrage du conteneur = mise à jour propre sans risque de régression.

Volumes persistants : vos conversations, collections RAG et configurations survivent aux suppressions et recréations du conteneur.

Docker Compose : la configuration recommandée pour la durée

docker-compose.yml — configuration complète Open WebUI + Ollama
services:
  ollama:
    image: ollama/ollama:latest
    container_name: ollama
    restart: always
    volumes:
      - ollama:/root/.ollama
    ports:
      - "11434:11434"

  open-webui:
    image: ghcr.io/open-webui/open-webui:main
    container_name: open-webui
    restart: always
    ports:
      - "3000:8080"
    environment:
      - OLLAMA_BASE_URL=http://ollama:11434
    volumes:
      - open-webui:/app/backend/data
    depends_on:
      - ollama

volumes:
  ollama:
  open-webui:

Déploiement sur VPS avec HTTPS

Pour exposer Open WebUI sur Internet avec un nom de domaine et HTTPS, la méthode recommandée est un reverse proxy. Caddy est la solution la plus simple : il gère automatiquement les certificats Let’s Encrypt.

Ajoutez dans votre docker-compose.yml le service Caddy, et créez un fichier Caddyfile : ai.votredomaine.fr { reverse_proxy open-webui:8080 }. Caddy génère le certificat HTTPS automatiquement au premier démarrage. En 20 lignes de YAML, vous passez de localhost:3000 à https://ai.votredomaine.fr.

docker-compose.yml avec Caddy HTTPS
services:
  caddy:
    image: caddy:latest
    restart: always
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile
      - caddy_data:/data
      - caddy_config:/config
    depends_on:
      - open-webui

  open-webui:
    image: ghcr.io/open-webui/open-webui:main
    # [reste de la config ci-dessus]

# Caddyfile :
# ai.votredomaine.fr {
#   reverse_proxy open-webui:8080
# }

volumes:
  caddy_data:
  caddy_config:
  open-webui:

Commandes Docker essentielles

Démarrer : docker start open-webui

Arrêter : docker stop open-webui

Voir les logs : docker logs -f open-webui

Mettre à jour : docker pull ghcr.io/open-webui/open-webui:main && docker stop open-webui && docker rm open-webui puis relancez la commande run

Sauvegarder les données : docker run --rm -v open-webui:/source -v $(pwd):/backup busybox tar czf /backup/backup.tar.gz /source

Avec Docker Compose : docker compose up -d (démarrer), docker compose down (arrêter), docker compose pull && docker compose up -d (mettre à jour)

💡Mon verdict

Docker Compose est la configuration que je déploie pour mes clients en production. Le fichier YAML versionné dans Git garantit la reproductibilité : n’importe quel membre de l’équipe peut déployer ou redéployer la même stack en une commande. Sur un VPS Hetzner CAX11 à 4€/mois (ARM), ça tourne parfaitement.

Mon conseil : commencez avec la commande Docker simple pour valider que tout fonctionne, puis migrez vers Docker Compose une fois satisfait. Le Compose vous servira pour les mises à jour, les sauvegardes et l’éventuelle évolution de la stack.

Lucas Fonseque consultant SEO IA Toulouse
Conseil IA & SEO

Construisons votre stack IA

Lucas Fonseque, consultant SEO & IA à Toulouse. 30 minutes pour identifier les bons outils selon votre profil — sans engagement.

📅 Réserver un appel gratuit →

Questions fréquentes sur Open WebUI Docker 2026

Quelle image Docker choisir : :main, :ollama ou :cuda ?+

L’image :main est la recommandation pour 90% des déploiements. C’est Open WebUI seul, sans Ollama inclus. Vous déployez Ollama séparément (comme dans le docker-compose.yml ci-dessus). Cette séparation permet de mettre à jour les deux indépendamment et de mieux contrôler les ressources.

L’image :ollama bundle les deux (Ollama + Open WebUI) dans un seul conteneur. Pratique pour un démarrage rapide ou un déploiement minimaliste. L’inconvénient : vous ne pouvez pas mettre à jour Ollama indépendamment d’Open WebUI — les deux évoluent ensemble à chaque rebuild.

L’image :cuda est l’image :main avec les drivers CUDA préinstallés pour les GPU NVIDIA. Si vous avez un GPU NVIDIA et que vous voulez que les modèles Ollama l’utilisent, c’est cette image qu’il vous faut. Ajoutez –gpus all à la commande docker run pour que le conteneur accède au GPU.

Comment passer des variables d’environnement à Open WebUI ?+

Via le flag -e dans la commande docker run, ou via la section environment dans docker-compose.yml. Les variables les plus utilisées : OLLAMA_BASE_URL (URL de votre serveur Ollama), WEBUI_SECRET_KEY (clé secrète pour la sécurité des sessions), OPENAI_API_KEY (si vous connectez OpenAI), DEFAULT_MODELS (modèle sélectionné par défaut).

Pour les secrets (clés API, mots de passe), ne les mettez jamais en clair dans votre docker-compose.yml si celui-ci est versionné dans Git. Utilisez un fichier .env dans le même dossier que votre docker-compose.yml — Docker Compose le lit automatiquement. Ajoutez .env à votre .gitignore pour ne pas le committer.

La liste complète des variables d’environnement disponibles est documentée dans le README officiel d’Open WebUI sur GitHub. Les variables importantes pour la production : WEBUI_SECRET_KEY (obligatoire en prod, générez une clé aléatoire de 32 caractères), WEBUI_URL (URL publique de votre instance pour les liens dans les emails).

Comment gérer les volumes Docker pour Open WebUI ?+

Open WebUI utilise un volume nommé (open-webui par défaut) qui stocke : la base de données SQLite avec vos conversations et utilisateurs, vos collections RAG (vecteurs ChromaDB), les fichiers uploadés, et toute la configuration de l’application.

Pour voir où sont stockés les volumes sur votre système : docker volume inspect open-webui affiche le chemin physique. Sur Mac/Windows avec Docker Desktop, les volumes sont dans une VM Linux — vous ne pouvez pas y accéder directement depuis Finder ou Explorer.

Bonne pratique : nommez toujours votre volume explicitement (–name open-webui dans la commande run, ou dans le docker-compose.yml). Un volume nommé est plus facile à identifier, sauvegarder et restaurer qu’un volume anonyme généré automatiquement. Ne supprimez jamais un volume sans sauvegarde préalable — c’est là que vivent toutes vos données.

Docker Compose vs Docker Swarm vs Kubernetes pour Open WebUI ?+

Pour la majorité des TPE et PME, Docker Compose suffit largement. Il gère parfaitement une stack Ollama + Open WebUI sur un seul serveur avec restart automatique, logs centralisés et mises à jour simples. La complexité de maintenance est minimale et la courbe d’apprentissage raisonnable.

Docker Swarm ou Kubernetes ne deviennent pertinents qu’à partir de plusieurs dizaines d’utilisateurs simultanés ou d’un besoin de haute disponibilité multi-serveurs. Ces outils ajoutent une complexité opérationnelle significative qui se justifie pour des déploiements critiques (hospitals, grandes entreprises) mais pas pour une PME.

Si vous débutez, ne vous embêtez pas avec Swarm ou K8s. Docker Compose sur un bon VPS (Hetzner, OVH, Scaleway) avec 4 vCPU et 8 GB de RAM couvre 95% des besoins réels pour des équipes jusqu’à 50 utilisateurs, avec une complexité de maintenance radicalement plus faible.

Comment monitorer Open WebUI en production ?+

Pour un déploiement basique, docker logs -f open-webui suffit pour voir les erreurs en temps réel. Ajoutez –log-opt max-size=100m –log-opt max-file=3 à votre commande docker run pour limiter la taille des logs et éviter de remplir votre disque.

Pour un monitoring plus sérieux, intégrez Uptime Kuma (outil open source de monitoring) dans votre docker-compose.yml. Uptime Kuma vérifie que http://localhost:3000 répond toutes les minutes et vous alerte par email ou Telegram si l’interface devient inaccessible.

Pour des métriques de performance (CPU, RAM, requêtes par minute), Prometheus + Grafana est la stack standard. Open WebUI n’expose pas encore de métriques Prometheus nativement en 2026, mais vous pouvez monitorer les métriques Docker (CPU, RAM du conteneur) via cAdvisor, qui s’intègre facilement dans une stack Prometheus.

Open WebUI Docker fonctionne-t-il sur Raspberry Pi ?+

Oui, mais avec des limitations importantes. Open WebUI tourne sur Raspberry Pi 4 et 5 (architecture ARM64) grâce aux images Docker multi-architecture publiées par l’équipe. La commande standard fonctionne sans modification sur Pi OS 64-bit.

Les modèles LLM sur Raspberry Pi sont très lents : un Pi 4 avec 8 GB de RAM génère 1 à 3 tokens par seconde sur un modèle 3B. C’est frustrant pour un usage interactif. Le Pi 5 est environ 2× plus rapide que le Pi 4 sur ces tâches. Pour une meilleure expérience, utilisez Open WebUI sur Pi comme interface qui se connecte à un Ollama sur une machine plus puissante du réseau local.

Une configuration qui fonctionne bien : Raspberry Pi 5 (8 GB) comme serveur Open WebUI, + une machine desktop avec GPU comme serveur Ollama. Open WebUI est configuré pour pointer sur l’IP locale de votre desktop Ollama. Vous avez l’interface web sur le Pi et la puissance de calcul sur le desktop.

Peut-on déployer plusieurs instances Open WebUI sur le même serveur ?+

Oui, en changeant les ports et les noms de conteneurs/volumes pour chaque instance. Par exemple : une instance de production sur le port 3000 (volume open-webui-prod) et une instance de test sur le port 3001 (volume open-webui-test).

Avec Docker Compose, la méthode propre est d’utiliser des profils ou des fichiers compose séparés. Un fichier docker-compose.prod.yml et un docker-compose.dev.yml, chacun avec ses propres ports et volumes. Lancez avec docker compose -f docker-compose.prod.yml up -d pour l’une ou l’autre.

Limites pratiques : chaque instance Open WebUI consomme 300-500 MB de RAM. Si vous avez 3 instances + 2 modèles Ollama chargés, vous consommez 6 à 8 GB de RAM rien qu’en overhead. Sur un serveur avec 16 GB, soyez raisonnable sur le nombre d’instances simultanées.

Comment configurer Open WebUI derrière un reverse proxy Nginx ?+

Pour Nginx, créez un fichier de configuration dans /etc/nginx/sites-available/open-webui avec la configuration standard de reverse proxy : proxy_pass http://localhost:3000, proxy_set_header directives pour passer les bons headers, et la configuration SSL si vous avez un certificat.

La commande Let’s Encrypt pour générer le certificat : certbot –nginx -d ai.votredomaine.fr. Certbot modifie automatiquement votre configuration Nginx pour activer HTTPS et redirige HTTP vers HTTPS.

Un point spécifique pour Open WebUI derrière Nginx : activez les WebSockets (proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection ‘upgrade’;). Open WebUI utilise des WebSockets pour les réponses en streaming — sans cette configuration, le streaming de tokens ne fonctionnera pas correctement.

Open WebUI supporte-t-il les GPU AMD ou Apple Silicon via Docker ?+

Pour Apple Silicon (M1, M2, M3), Docker Desktop utilise l’émulation x86 ou les images ARM64 natives. Open WebUI supporte ARM64 nativement. Ollama sur Mac Apple Silicon utilise automatiquement le GPU unifié via Metal — vous n’avez pas besoin de configuration spéciale Docker.

Pour les GPU AMD, la situation est plus complexe. L’image :cuda est spécifique aux GPU NVIDIA. Pour les GPU AMD, utilisez l’image :main standard et configurez ROCm séparément dans votre conteneur Ollama. C’est faisable mais plus technique que NVIDIA/CUDA.

Sur Apple Silicon, la commande Docker standard fonctionne directement et Ollama utilise le GPU Apple via son intégration Metal. Les performances sont excellentes — un M2 Pro 16GB génère 30-40 tokens/seconde sur un modèle 7B. C’est comparables à un GPU NVIDIA RTX 3060.

Comment sécuriser une instance Docker Open WebUI en production ?+

Quatre mesures essentielles. Un : HTTPS obligatoire via Caddy ou Nginx + Let’s Encrypt. Jamais d’Open WebUI en HTTP sur Internet. Deux : WEBUI_SECRET_KEY configuré avec une valeur aléatoire forte (générez avec openssl rand -hex 32).

Trois : firewall configuré pour n’exposer que les ports 80 et 443 (HTTP et HTTPS). Le port 3000 et 11434 (Ollama) ne doivent pas être accessibles depuis Internet — uniquement entre conteneurs Docker via le réseau interne Docker. Quatre : authentification forte — ne laissez pas votre instance accessible en création libre de compte (ENABLE_SIGNUP=false après avoir créé vos comptes admin).

Pour une sécurité renforcée, ajoutez une couche d’authentification en amont avec Cloudflare Access ou Authelia. Ces outils interceptent toutes les requêtes avant qu’elles n’arrivent à Open WebUI et vérifient l’identité de l’utilisateur. C’est particulièrement utile pour des instances partagées en entreprise où vous voulez contrôler précisément qui peut accéder à l’interface.

⭐ Ce que disent mes clients

Retrouvez-moi sur les réseaux

Analyses SEO, tests IA et veille Claude au quotidien.