Exécuter Open WebUI avec Ollama sur ZCP
Ce tutoriel ajoute Open WebUI à une VM où Ollama est déjà installé. Open WebUI et Ollama s’exécutent sur la même VM. Le conteneur fournit l’interface navigateur, tandis qu’Ollama charge et exécute le modèle.
Ce guide s’adresse aux développeurs et aux opérateurs DIY. Il explique l’ajout de l’interface navigateur, son exposition contrôlée et le nettoyage du déploiement.
Commencez par Exécuter Ollama pour le chat et l’inférence sur ZCP.
Version anglaise : Run Open WebUI With Ollama on ZCP.
1. Installer Docker
Section intitulée « 1. Installer Docker »Exécutez ces commandes dans la VM Ollama :
sudo apt-get updatesudo apt-get install -y docker.io opensslsudo systemctl enable --now dockersudo systemctl is-active docker2. Démarrer Open WebUI
Section intitulée « 2. Démarrer Open WebUI »Le mode réseau de l’hôte rend Ollama accessible à l’adresse 127.0.0.1:11434 dans le conteneur. Open WebUI écoute sur le port 8080 de l’hôte.
L’exemple fixe Open WebUI à la version v0.11.0. Le tag main est une cible de développement
glissante et ne convient pas à un déploiement reproductible. Consultez les notes de version avant
une mise à niveau.
sudo install -d -m 0750 /etc/open-webuiif [ ! -s /etc/open-webui/secret ]; then openssl rand -hex 32 | sudo tee /etc/open-webui/secret >/dev/null sudo chmod 600 /etc/open-webui/secretfiWEBUI_SECRET_KEY="$(sudo cat /etc/open-webui/secret)"sudo docker run -d \ --network=host \ -v open-webui:/app/backend/data \ -e OLLAMA_BASE_URL=http://127.0.0.1:11434 \ -e WEBUI_SECRET_KEY="$WEBUI_SECRET_KEY" \ --name open-webui \ --restart always \ ghcr.io/open-webui/open-webui:v0.11.0Vérifiez le conteneur et l’interface locale :
sudo docker ps --filter name=open-webuisudo docker inspect --format '{{.State.Health.Status}}' open-webui || truecurl -sS -I http://127.0.0.1:8080/La première visite dans le navigateur crée le compte administrateur Open WebUI. Le volume Docker nommé conserve le compte et les données de l’application lors des redémarrages du conteneur.
Open WebUI s’exécute sur la même VM qu’Ollama. Il n’ajoute donc pas une deuxième facturation de VM
ZCP. Le déploiement YUL-1 de référence coûte environ 0,8082 $ CA par heure, ou 582 $ CA par mois,
avant taxes. Cela couvre la VM ci2.4xl, un réseau isolé et une adresse IPv4 publique. Les volumes
optionnels, sauvegardes, instantanés et remises sont séparés. Consultez
Exécuter Ollama pour le chat et l’inférence sur ZCP pour
le détail des coûts et les commandes du catalogue.
3. Préparer un accès sécurisé
Section intitulée « 3. Préparer un accès sécurisé »Le tunnel SSH de l’étape suivante n’a pas besoin d’une règle de pare-feu invité pour le port 8080 ni d’une deuxième redirection ZCP. Gardez Open WebUI privé sur la VM et réutilisez l’accès SSH restreint du tutoriel Ollama.
Ne partagez pas une URL de connexion publique en HTTP non chiffré. Pour un accès public partagé,
terminez TLS avec un reverse proxy HTTPS sur le port 443, exigez une authentification et proxyfiez
vers 127.0.0.1:8080. Publiez uniquement la règle et la redirection HTTPS. Ne publiez pas le port
8080, ni un port navigateur remappé comme le 3000, en HTTP non chiffré.
4. Ouvrir Open WebUI avec un tunnel SSH chiffré
Section intitulée « 4. Ouvrir Open WebUI avec un tunnel SSH chiffré »Exécutez cette commande sur votre poste. Remplacez <public-ip> par l’adresse de la VM :
ssh -i ~/.ssh/id_ed25519 \ -N \ -L 3000:127.0.0.1:8080 \ ubuntu@<public-ip>Laissez la session SSH active et ouvrez cette adresse locale dans le navigateur :
http://127.0.0.1:3000/La connexion du navigateur est locale et SSH chiffre le trafic entre votre poste et la VM. Après la
connexion, choisissez llama3.1:8b pour un chat interactif. Choisissez llama3.3:70b uniquement
pour des tests de qualité plus lents sur CPU. Open WebUI ne change pas le chemin de calcul du
modèle.
5. Garder Ollama privé
Section intitulée « 5. Garder Ollama privé »Open WebUI n’a pas besoin d’un accès public aux ports 11434 ou 8080. Le tunnel SSH garde les deux services privés.
Si une autre application a besoin de l’API, exécutez-la sur la même VM à http://127.0.0.1:11434 ou
placez un reverse proxy authentifié sur un réseau privé. N’ajoutez pas de redirection publique non
authentifiée.
6. Nettoyer le déploiement
Section intitulée « 6. Nettoyer le déploiement »Supprimez Open WebUI avant la VM :
sudo docker rm -f open-webuisudo docker volume rm open-webuiListez toutes les règles liées à l’IP de test. Exécutez une commande de suppression par identifiant retourné, y compris la règle et la redirection SSH créées par le tutoriel Ollama. Omettez les identifiants HTTPS si vous n’avez pas créé de reverse proxy TLS. Ajoutez une commande pour chaque identifiant supplémentaire retourné :
zcp firewall list --ip <ip-slug> --region yul-1 --project default-9zcp portforward list --ip <ip-slug> --region yul-1 --project default-9zcp firewall delete <ssh-firewall-rule-id> --ip <ip-slug> --yes --region yul-1 --project default-9zcp firewall delete <https-firewall-rule-id> --ip <ip-slug> --yes --region yul-1 --project default-9zcp portforward delete <ssh-portforward-id> --ip <ip-slug> --yes --region yul-1 --project default-9zcp portforward delete <https-portforward-id> --ip <ip-slug> --yes --region yul-1 --project default-9Supprimez la VM :
zcp instance delete yul-ollama-test \ --yes \ --delete-public-ip \ --region yul-1 \ --project default-9
zcp instance get yul-ollama-test --region yul-1 --project default-9Vérifiez la liste des IP :
zcp ip list --region yul-1 --project default-9ZCP peut laisser une IP source NAT après le détachement de la VM. Si l’IP n’a plus de VM mais appartient encore au réseau isolé créé pour le test, supprimez ce réseau après la suppression de la VM :
zcp network delete <auto-created-network> \ --yes \ --region yul-1 \ --project default-9La suppression du réseau créé automatiquement libère son IP source NAT. N’exécutez pas de commande
zcp ip release séparée pour cette IP. Ne supprimez pas un réseau partagé. Supprimez la clé SSH de
déploiement si vous l’avez créée uniquement pour ce test :
zcp ssh-key delete my-yul-key --yes