12.1 · Vérifier Docker
Validationdocker --version
docker compose version
docker info >/dev/null && echo "Docker OK"Installer Open WebUI dans Docker, conserver ses données de manière persistante et le connecter à l’API OpenAI-compatible de Hermes Agent. Le Golden Build expose l’interface uniquement sur le réseau privé et utilise le VPN pour l’accès distant.
open-webui
3000
/app/backend/data
open-webui contient notamment la base webui.db, les uploads et le vector store. Ne supprimez jamais ce volume pour simplement mettre à jour le conteneur.600.METTRE_VOTRE_IP_LAN_JARVISMETTRE_VOTRE_CLE_API_HERMES30008642Docker doit déjà être installé et validé via le Module 02. L’API Hermes doit être opérationnelle via le Module 06.
docker --version
docker compose version
docker info >/dev/null && echo "Docker OK"curl -fsS http://METTRE_VOTRE_IP_LAN_JARVIS:8642/healthss -lnt | grep ':3000 ' || echo "Port 3000 disponible"install -d -m 700 ~/.config/jarvisumask 077
printf 'WEBUI_SECRET_KEY=%s\n' "$(openssl rand -hex 32)" > ~/.config/jarvis/open-webui.env
chmod 600 ~/.config/jarvis/open-webui.envstat -c '%a %n' ~/.config/jarvis/open-webui.env
grep '^WEBUI_SECRET_KEY=' ~/.config/jarvis/open-webui.env | sed 's/=.*/=<SECRET_PRESENT>/'600 et affichage uniquement de <SECRET_PRESENT>.docker pull ghcr.io/open-webui/open-webui:mainmain est l’image standard recommandée par Open WebUI et correspond au principe du Golden Build historique.docker image inspect ghcr.io/open-webui/open-webui:main \
--format '{json .RepoDigests}'main évolue. Le digest permet de documenter précisément la version utilisée pour votre installation Golden.docker volume create open-webui
docker volume inspect open-webui --format '{.Name}'open-webui existe.docker run -d \
--name open-webui \
--restart always \
--add-host=host.docker.internal:host-gateway \
-p METTRE_VOTRE_IP_LAN_JARVIS:3000:8080 \
-v open-webui:/app/backend/data \
--env-file ~/.config/jarvis/open-webui.env \
ghcr.io/open-webui/open-webui:mainopen-webui passe à l’état Up.docker ps --filter name=open-webui
docker logs --tail 80 open-webuicurl -fsS http://METTRE_VOTRE_IP_LAN_JARVIS:3000/health/health sans authentification pour vérifier l’état de base de l’application.ss -lnt | grep ':3000 '
docker port open-webuihttp://METTRE_VOTRE_IP_LAN_JARVIS:3000http://METTRE_VOTRE_IP_LAN_JARVIS:8642/v1.METTRE_VOTRE_CLE_API_HERMES.hermes-agent apparaît dans la liste.hermes-agent.docker exec open-webui sh -lc 'test -f /app/backend/data/webui.db && echo "webui.db present"'
docker volume inspect open-webui --format '{.Name}'webui.db est présent et le volume open-webui existe.docker restart open-webui
sleep 5
curl -fsS http://METTRE_VOTRE_IP_LAN_JARVIS:3000/healthdocker inspect open-webui \
--format '{.HostConfig.RestartPolicy.Name}'always.docker logs --tail 150 open-webui | grep -Ei 'error|exception|failed|traceback' || trueLe Golden Build lie Open WebUI à METTRE_VOTRE_IP_LAN_JARVIS. Ne remplacez pas ce choix par une exposition globale sans raison et sans protection supplémentaire.
Pour un téléphone ou un ordinateur hors domicile, utilisez votre VPN privé puis ouvrez l’adresse LAN de Jarvis. N’ouvrez pas directement le port Web sur Internet.
Protégez le premier compte créé avec un mot de passe robuste. Ne publiez jamais les identifiants dans la documentation ou un dépôt Git.
La clé API Hermes ne doit pas apparaître dans un fichier HTML, une capture publique ou un script partagé. Elle est saisie uniquement dans votre instance privée Open WebUI.
Le Module 16 sauvegardera le contenu complet de /app/backend/data : base SQLite, uploads, vector store et autres données persistantes.
Conservez ~/.config/jarvis/open-webui.env dans une sauvegarde privée et chiffrée. Sans la même clé, certaines données sensibles peuvent devenir illisibles après reconstruction.
Conservez le digest de l’image réellement utilisée pour pouvoir reproduire ou diagnostiquer une installation Golden.
Une sortie complète de docker inspect peut contenir des variables d’environnement sensibles. Ne publiez jamais un inspect brut dans une documentation publique.
/health puis une conversation Hermes.docker volume rm open-webui pour « nettoyer » une mise à jour. Cela supprime les données persistantes de l’interface.Lisez docker logs open-webui, puis vérifiez le volume, le fichier d’environnement et le port 3000.
Testez d’abord l’API Hermes depuis Jarvis. Vérifiez ensuite que l’URL OpenAI-compatible contient bien /v1 et que la clé API utilisée est celle d’Hermes.
Vérifiez l’endpoint /v1/models du Gateway Hermes et la connexion configurée dans Admin → Connections.
Vérifiez que le même WEBUI_SECRET_KEY est réutilisé et que le fichier open-webui.env n’a pas été régénéré par erreur.
Contrôlez que le volume open-webui est toujours monté sur /app/backend/data. Ne créez pas un nouveau volume au hasard.
Corrigez immédiatement le binding Docker et les règles réseau. Le Golden Build prévoit un accès privé LAN/VPN uniquement.
Ne passez au module suivant que lorsque tous les points applicables sont validés.
open-webui existe.open-webui est actif./health répond.hermes-agent est visible et répond dans Open WebUI.webui.db.always.Jarvis dispose maintenant d’une interface Web privée et persistante connectée à Hermes Agent. Le prochain module configurera Gmail via Himalaya.