Aller au contenu principal

Lancer la Navin Platform en développement local avec make

Cette page lance la plateforme sur un poste de développement sans Docker : make install prépare le venv du Control Plane, les dépendances du portail et Keycloak ; make start démarre PostgreSQL, Redis et Keycloak s'ils ne répondent pas encore, applique les migrations, puis démarre l'API (python -m eai.main, port 8080), le worker (python -m eai.worker) et le portail (port 3300). Elle s'adresse aux développeurs de la plateforme.

Avant de commencer​

  • Python 3.11 ou plus récent, Node.js 20 ou plus récent, redis-server dans le PATH, les binaires PostgreSQL (ou un PostgreSQL qui répond déjà sur EAI_DATABASE_URL), et Java 21 pour Keycloak.
  • Le dépôt cloné, commandes lancées depuis sa racine.
  • make help liste les cibles, en français avec EAI_LOCALE=fr.

Étapes​

  1. Créer les réglages. make docker-env écrit services/control-plane/local.env (et deploy/compose/.env) avec des secrets locaux aléatoires et des ports libres. Un fichier existant est conservé.

    make docker-env

    Résultat attendu : services/control-plane/local.env existe.

  2. Installer les composants.

    make install

    Elle crée services/control-plane/.venv avec les extras de EXTRAS (par défaut dev), lance npm install dans portal/ (INSTALL_PORTAL=0 l'évite) et place Keycloak 26.8.1 dans ~/.local/toolchains (INSTALL_KEYCLOAK=0 l'évite).

    Résultat attendu : services/control-plane/.venv/bin/python -c "import eai" réussit.

    En cas d'échec : la version de Python ou de Node.js est trop ancienne ; vérifiez python3 --version et node --version.

  3. Démarrer la plateforme.

    make start
    make status

    Résultat attendu : make status liste postgres, redis, keycloak, api, worker et portal comme démarrés.

    En cas d'échec : make logs (ou make logs COMPONENTS=api) affiche les journaux ; MIGRATE=0 démarre sans les migrations, DB_WAIT (30 secondes par défaut) est l'attente d'une base qui refuse les connexions.

  4. Se connecter. Ouvrez http://localhost:3300/login, onglet Identifiant : navin / navin (EAI_BOOTSTRAP_ADMIN_USERNAME et EAI_BOOTSTRAP_ADMIN_PASSWORD de local.env). Le compte a les rôles platform_admin et tenant_admin sur le tenant default ; le portail demande un nouveau mot de passe à la première connexion. Le bouton Connexion SSO utilise le Keycloak lancé par make start (console http://localhost:8081/admin, utilisateur admin, mot de passe KEYCLOAK_ADMIN_PASSWORD de deploy/compose/.env).

Variables des cibles make​

VariableEffet
COMPONENTSComposants visés : postgres redis keycloak api worker media-worker portal
ENV_FILEFichier de réglages (par défaut services/control-plane/local.env)
PORT, EAI_HOSTPort de l'API (par défaut EAI_PORT, sinon 8080) et adresse d'écoute (par défaut 127.0.0.1)
PORTAL_PORT, PORTAL_HOSTPort du portail (par défaut 3300) et adresse d'écoute (par défaut 127.0.0.1)
PORTAL_BUILD1 reconstruit le portail, 0 ne le construit jamais
PG_DATA, PG_BINDossier de données (par défaut .run/postgres) et binaires du PostgreSQL local
REDIS_SERVERBinaire redis-server
KEYCLOAK_HOMEVersion de Keycloak (par défaut ~/.local/toolchains/keycloak-26.8.1)
VENV, PYTHONEnvironnement virtuel et interpréteur
EXTRASExtras de make install (dev ; vide pour l'exécution seule ; litellm, otel, workers)
MIGRATE, DB_WAITDémarrer sans migrations ; attente de la base
LOG_LINES, FOLLOWLignes affichées par make logs, sans les suivre avec FOLLOW=0
START_TIMEOUT, STOP_TIMEOUT, WORKER_ARGS, MEDIA_WORKER_ARGS, RUN_DIRDélais, arguments, dossier des pid et des journaux (par défaut .run)

Le portail peut aussi tourner en mode développement : cd portal && npm run dev (http://localhost:3300, dossier .next-dev) ; arrêtez d'abord le portail de make start.

Arrêter​

make stop

Elle arrête ce que make start a démarré ; un PostgreSQL ou un Redis qui tournait déjà reste tel quel.

Étapes suivantes​

  • Docker Compose pour les autres services (OpenFGA, OPA, Qdrant, NATS, Temporal, observabilité)
  • Guide de démarrage local : connexion avec Keycloak et LDAP, installation d'un service depuis le portail avec le bac à sable du Navin Manager

Dépannage​

SymptômeCauseCorrection
make start attend puis échoue sur la basePostgreSQL refuse la connexionVérifiez EAI_DATABASE_URL de local.env ; augmentez DB_WAIT
Les pages du portail renvoient 404 pour les scripts après un buildAnciens noms de fichiers en cache dans le navigateurRechargez avec Ctrl-F5
Keycloak ne démarre pasPas de Java 21, ou KEYCLOAK_HOME erronéInstallez Java 21 ; relancez make install