Aller au contenu principal

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_data
  • libre_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.

Documentation connexe