But: ce guide explique comment arrêter uniquement le service gui démarré par docker compose, exécuter la gui localement (Vite dev), et configurer les variables d'environnement pour qu'elle pointe vers les services appropriés (manager, Keycloak, etc.).
Objectifs
- Stopper uniquement le container
guide la composition Docker. - Lancer la
guilocalement sur le port 5173 (par défaut Vite). - Configurer les variables d'environnement pour pointer vers le manager (local ou Docker) et Keycloak.
- Utiliser les IP fixes des containers Docker pour les services (pas besoin de modifier
/etc/hosts).
Pré-requis
- Docker et Docker Compose installés et la composition du dépôt démarrée (au moins
traefik,consul,db,keycloak,managersi vous suivez ledocker-compose.ymlfourni). - Node.js et npm disponibles.
- La
guipeut être lancée avecnpm run dev.
Contexte réseau utile (depuis docker-compose.yml)
- DB (Postgres) : 172.25.0.4
- Consul : 172.25.0.3
- Keycloak (auth) : 172.25.0.5
- Manager (docker) : 172.25.0.6
- GUI (docker) : 172.25.0.10 (mais en local on lance sur localhost:5173)
Résumé des étapes
- Stopper seulement le container
gui(Docker). - Lancer la
guilocalement (npm run dev) en configurant les variables d'environnement pour pointer vers les services (manager local ou Docker, Keycloak, etc.). - Accéder à la GUI via http://localhost:5173.
Étapes détaillées
- Arrêter uniquement la gui Docker
Depuis la racine du projet (là où se trouve docker-compose.yml) :
# Arrête le service gui sans toucher aux autres services
docker compose stop gui
# Pour supprimer le container afin d'éviter tout redémarrage automatique :
docker compose rm -f gui- Lancer la
guien local (npm run dev) en utilisant les IP des containers ou localhost
La gui local aura besoin d'atteindre :
- Le manager (API) : soit local sur localhost:8080, soit Docker sur 172.25.0.6:8080
- Keycloak (OIDC) : sur http://172.25.0.5/realms/mbyte
Option A — Manager local (comme dans DEPLOY_LOCAL_MANAGER.md) :
Si vous avez lancé le manager localement (sur localhost:8080), configurez :
# Depuis le dossier gui/
VITE_API_MANAGER_BASE_URL=http://localhost:8080 \
VITE_OIDC_AUTHORITY=https://auth.mbyte.fr/realms/mbyte \
VITE_OIDC_CLIENT_ID=mbyte-local-gui \
VITE_OIDC_SCOPE="openid profile email" \
npm run devOption B — Manager Docker :
Si le manager est dans Docker (172.25.0.6:8080), configurez :
# Depuis le dossier gui/
VITE_API_MANAGER_BASE_URL=http://172.25.0.6:8080 \
VITE_OIDC_AUTHORITY=https://auth.mbyte.fr/realms/mbyte \
VITE_OIDC_CLIENT_ID=mbyte-local-gui \
VITE_OIDC_SCOPE="openid profile email" \
npm run devVous pouvez aussi créer un fichier gui/.env.local (non commité) pour éviter de répéter les variables :
VITE_API_MANAGER_BASE_URL=http://localhost:8080 # ou http://172.25.0.6:8080 si manager Docker
VITE_OIDC_AUTHORITY=http://172.25.0.5/realms/mbyte
VITE_OIDC_CLIENT_ID=mbyte
VITE_OIDC_SCOPE=openid profile email
Puis :
cd gui
npm run devRemarques :
- La gui est lancée sur le port 5173 par défaut (configurable dans vite.config.ts si nécessaire).
- Les IP listées proviennent des adresses statiques définies dans
docker-compose.ymlet sont directement atteignables depuis l'hôte sur une installation Linux standard. - Si vous utilisez des stores, ajustez
VITE_API_STORE_BASE_URL,VITE_STORES_DOMAIN, etc. si nécessaire.
- Vérifications rapides (smoke test)
- Ouvrez la GUI en dev (http://localhost:5173). Vous devriez pouvoir vous connecter via OIDC vers Keycloak (IP 172.25.0.5).
- Vérifiez que les appels API vers le manager fonctionnent (par exemple, via les outils de dev du navigateur).
- Si le manager est local, vérifiez qu'il répond sur http://localhost:8080/q/health.
- Résolution des problèmes courants
-
Erreur de connexion API :
- Vérifiez que le manager (local ou Docker) est UP et accessible sur l'URL configurée.
- Vérifiez les variables d'environnement dans le terminal ou .env.local.
-
Échec OIDC / redirections :
- Vérifiez que le container Keycloak (
mbyte.auth) est UP et répond sur 172.25.0.5. - Vérifiez la configuration du realm / client dans l'import (
auth/mbyte-realm.json).
- Vérifiez que le container Keycloak (
-
Variables manquantes :
- Assurez-vous que les variables VITE_* sont définies (export ou .env.local).
- Restauration de la gui dans Docker
Quand vous voulez revenir à la version Docker de la gui :
docker compose up -d guiNotes finales / bonnes pratiques
- Les IP statiques sont pratiques pour le dev, évitez toutefois de les considérer comme une solution portable pour CI ou autres environnements.
- Ne comitez pas les fichiers
.env.localcontenant des configurations spécifiques.
Sur certaines machines non unix, les IPs directes des conteneurs ne sont pas visibles directement sans exposer les ports. Dans ce cas, il faudra modifier le docker compose pour exposer les ports nécessaires (Manager, Keycloak) sur l'hôte, et ajuster les configurations en conséquence. /home/jerome/Miage/mbyte/DEPLOY_LOCAL_GUI.md