Mise en place d'Open-WebUI avec Ollama et LLaMA 3
Pré-requis
Avant de commencer, assurez-vous d’avoir les éléments suivants installés :
- Docker : Documentation d’installation Docker
- Docker Compose : Documentation d’installation Docker Compose
- Ollama : Documentation d’installation Ollama
- LLaMA 3 : Suivez les instructions de la documentation d’Ollama pour intégrer LLaMA 3 ou obtenez le modèle LLaMA 3 via Ollama
Étape 1: Configurer le service Ollama avec systemd
Ollama est généralement installé avec une configuration systemd préexistante. Cependant, pour que la stack fonctionne correctement, vous devez ajouter une ligne spécifique à la configuration existante.
-
Modifiez le fichier de service systemd pour Ollama :
sudo nano /etc/systemd/system/ollama.service -
Ajoutez la ligne suivante sous la section
[Service]pour définir l’adresse et le port d’écoute de Ollama :Environment="OLLAMA_HOST=0.0.0.0:11434"Remarque : Cette ligne configure Ollama pour écouter sur toutes les interfaces réseau (
0.0.0.0) sur le port11434, permettant à Open-WebUI d’accéder à Ollama via l’adresse définie dansOLLAMA_BASE_URL. -
Rechargez la configuration de systemd pour appliquer les modifications et redémarrez le service Ollama :
sudo systemctl daemon-reload sudo systemctl restart ollama
Étape 2: Configurer Docker Compose pour Open-WebUI
-
Créez un répertoire pour votre configuration Docker Compose. Par exemple :
mkdir -p /path/to/your/open-webui -
Dans ce répertoire, créez un fichier
docker-compose.ymlavec le contenu suivant :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" restart: always environment: - OLLAMA_BASE_URL=http://host.docker.internal:11434 volumes: open-webui: -
Démarrez les services avec Docker Compose :
cd /path/to/your/open-webui docker-compose up -dRemarque : Exécutez la commande
docker-composesanssudosi votre utilisateur fait partie du groupe Docker. Sinon, utilisezsudopour les commandes Docker.
Explication du Choix de extra_hosts
La directive extra_hosts permet d’ajouter des entrées dans le fichier /etc/hosts du conteneur Docker. Voici l’entrée ajoutée :
extra_hosts:
- "host.docker.internal:host-gateway"
Pourquoi utiliser cette configuration ?
- Accès aux Services Hôtes : Cette configuration permet au conteneur Docker de résoudre
host.docker.internalcomme l’adresse IP de la machine hôte. Cela est utile pour accéder à des services ou applications en cours d’exécution sur l’hôte, comme Ollama dans ce cas. - Compatibilité avec les Réseaux Docker :
host.docker.internalrésout les problèmes de connectivité entre les conteneurs et les services sur l’hôte. Cela fonctionne sur plusieurs systèmes d’exploitation, facilitant la connexion entre les services conteneurisés et les services hôtes. - Facilité de Configuration : Utiliser
host.docker.internalévite d’avoir à configurer l’adresse IP spécifique de l’hôte, simplifiant la gestion de la connectivité réseau.
Étape 3: Vérifier l’installation
Pour vérifier que les services sont en cours d’exécution :
-
Ollama :
sudo systemctl status ollama -
Open-WebUI :
Ouvrez un navigateur web et accédez à
http://localhost:3000. Vous devriez voir l’interface Open-WebUI.
Conclusion
Vous avez maintenant une configuration fonctionnelle d’Open-WebUI avec Ollama et LLaMA 3.