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-serverdans lePATH, les binaires PostgreSQL (ou un PostgreSQL qui répond déjà surEAI_DATABASE_URL), et Java 21 pour Keycloak. - Le dépôt cloné, commandes lancées depuis sa racine.
make helpliste les cibles, en français avecEAI_LOCALE=fr.
Étapes
-
Créer les réglages.
make docker-envécritservices/control-plane/local.env(etdeploy/compose/.env) avec des secrets locaux aléatoires et des ports libres. Un fichier existant est conservé.make docker-envRésultat attendu :
services/control-plane/local.envexiste. -
Installer les composants.
make installElle crée
services/control-plane/.venvavec les extras deEXTRAS(par défautdev), lancenpm installdansportal/(INSTALL_PORTAL=0l'évite) et place Keycloak 26.8.1 dans~/.local/toolchains(INSTALL_KEYCLOAK=0l'é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 --versionetnode --version. -
Démarrer la plateforme.
make startmake statusRésultat attendu :
make statuslistepostgres,redis,keycloak,api,workeretportalcomme démarrés.En cas d'échec :
make logs(oumake logs COMPONENTS=api) affiche les journaux ;MIGRATE=0démarre sans les migrations,DB_WAIT(30 secondes par défaut) est l'attente d'une base qui refuse les connexions. -
Se connecter. Ouvrez http://localhost:3300/login, onglet Identifiant :
navin/navin(EAI_BOOTSTRAP_ADMIN_USERNAMEetEAI_BOOTSTRAP_ADMIN_PASSWORDdelocal.env). Le compte a les rôlesplatform_adminettenant_adminsur le tenantdefault; le portail demande un nouveau mot de passe à la première connexion. Le bouton Connexion SSO utilise le Keycloak lancé parmake start(console http://localhost:8081/admin, utilisateuradmin, mot de passeKEYCLOAK_ADMIN_PASSWORDdedeploy/compose/.env).
Variables des cibles make
| Variable | Effet |
|---|---|
COMPONENTS | Composants visés : postgres redis keycloak api worker media-worker portal |
ENV_FILE | Fichier de réglages (par défaut services/control-plane/local.env) |
PORT, EAI_HOST | Port de l'API (par défaut EAI_PORT, sinon 8080) et adresse d'écoute (par défaut 127.0.0.1) |
PORTAL_PORT, PORTAL_HOST | Port du portail (par défaut 3300) et adresse d'écoute (par défaut 127.0.0.1) |
PORTAL_BUILD | 1 reconstruit le portail, 0 ne le construit jamais |
PG_DATA, PG_BIN | Dossier de données (par défaut .run/postgres) et binaires du PostgreSQL local |
REDIS_SERVER | Binaire redis-server |
KEYCLOAK_HOME | Version de Keycloak (par défaut ~/.local/toolchains/keycloak-26.8.1) |
VENV, PYTHON | Environnement virtuel et interpréteur |
EXTRAS | Extras de make install (dev ; vide pour l'exécution seule ; litellm, otel, workers) |
MIGRATE, DB_WAIT | Démarrer sans migrations ; attente de la base |
LOG_LINES, FOLLOW | Lignes affichées par make logs, sans les suivre avec FOLLOW=0 |
START_TIMEOUT, STOP_TIMEOUT, WORKER_ARGS, MEDIA_WORKER_ARGS, RUN_DIR | Dé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ôme | Cause | Correction |
|---|---|---|
make start attend puis échoue sur la base | PostgreSQL refuse la connexion | Vérifiez EAI_DATABASE_URL de local.env ; augmentez DB_WAIT |
| Les pages du portail renvoient 404 pour les scripts après un build | Anciens noms de fichiers en cache dans le navigateur | Rechargez avec Ctrl-F5 |
| Keycloak ne démarre pas | Pas de Java 21, ou KEYCLOAK_HOME erroné | Installez Java 21 ; relancez make install |