Docker avec une instance Ollama externe
Utilisez cette configuration lorsqu’Ollama s’exécute déjà sur votre hôte, un autre serveur ou une machine de votre réseau local/Tailscale.
Disponibilité de Work
Cette configuration Compose change l’emplacement où s’exécute Ollama ; Work reste activé grâce au socket Docker de l’hôte monté dans le conteneur. Ce montage accorde à Libre WebUI un contrôle de l’hôte Docker équivalent à celui de l’utilisateur racine. Ne l’utilisez donc que si les administrateurs de Libre WebUI sont également des administrateurs de confiance de l’hôte. Sous Linux, définissez dans .env la variable DOCKER_GID sur le groupe propriétaire du socket. Supprimez le montage si vous ne souhaitez pas utiliser Work. Consultez Work : espaces de travail isolés.
Prérequis
Vérifiez qu’Ollama est accessible :
curl http://localhost:11434/api/version
Récupérez un modèle si l’instance est nouvelle :
ollama pull gemma4:12b
Démarrer Libre WebUI
Depuis la racine du dépôt :
docker compose -f docker-compose.external-ollama.yml up -d
Ouvrez http://localhost:8080.
Le fichier Compose définit OLLAMA_BASE_URL sur http://host.docker.internal:11434 par défaut.
URL Ollama personnalisée
Pour utiliser un autre hôte :
OLLAMA_BASE_URL=http://192.168.1.100:11434 docker compose -f docker-compose.external-ollama.yml up -d
Sur les hôtes Linux qui ne résolvent pas host.docker.internal, ajoutez ceci au service :
extra_hosts:
- 'host.docker.internal:host-gateway'
Persistance des données
Le fichier Compose stocke les données de Libre WebUI dans des volumes Docker :
libre_webui_datalibre_webui_temp
Définissez des secrets stables pour la production :
JWT_SECRET=replace-with-a-long-random-secret
ENCRYPTION_KEY=replace-with-64-hex-characters
Sauvegardez ensemble le volume de données et la clé de chiffrement.
Accès réseau
Le fichier Compose du dépôt définit actuellement CORS_ORIGIN directement. Une valeur définie dans votre environnement ou votre fichier .env ne remplace pas cette valeur littérale. Modifiez l’entrée libre-webui.environment ou ajoutez une substitution Compose explicite, par exemple compose.origin.yml :
services:
libre-webui:
environment:
CORS_ORIGIN: http://localhost:8080,http://192.168.1.50:8080
BASE_URL: http://192.168.1.50:8080
Appliquez les deux fichiers :
docker compose \
-f docker-compose.external-ollama.yml \
-f compose.origin.yml \
up -d
Pour un domaine public, utilisez l’origine HTTPS exacte pour les deux valeurs et terminez le trafic avec HTTPS.
Commandes utiles
docker compose -f docker-compose.external-ollama.yml ps
docker compose -f docker-compose.external-ollama.yml logs -f libre-webui
docker compose -f docker-compose.external-ollama.yml restart
docker compose -f docker-compose.external-ollama.yml pull
docker compose -f docker-compose.external-ollama.yml up -d
Dépannage
Libre WebUI ne parvient pas à joindre Ollama
docker compose -f docker-compose.external-ollama.yml exec libre-webui \
wget -O- http://host.docker.internal:11434/api/version
En cas d’échec, utilisez une adresse IP explicite de votre réseau local/Tailscale dans OLLAMA_BASE_URL.
Les modèles n’apparaissent pas
Vérifiez l’hôte Ollama :
ollama list
Le gestionnaire de modèles lit les informations depuis l’instance Ollama configurée.
Erreurs CORS
Vérifiez que CORS_ORIGIN correspond exactement à l’origine du navigateur, protocole et port compris.