Nicolas Cantu bc3c75e15f Add enso docs mirror under services/docv/enso-docs; docv integration docs
- Copy enso/docs tree to services/docv/enso-docs (refresh via cp -a from enso repo)
- Document mirror and refresh command in services/docv/README.md
- Ignore services/docv/target for local Rust workspace
- Track docv-service-integration, API docv.md, and related doc index updates
2026-04-03 17:26:35 +02:00

12 KiB
Raw Blame History

Cartographie des ports — enso (docv / enso)

Ce document fixe les ports utilisés par le projet enso sur les machines test, pprod, prod et sur le poste de développement. Les ports listés comme déjà utilisés cidessous ont été vérifiés par connexion aux machines (ss -tlnp).

Proxy nginx (192.168.1.100) : pour les seuls vhosts *.enso.4nkweb.com et *.docv.4nkweb.com, les upstreams vers 101 / 102 / 103 sont 3032 (enso-front), 3038 (docv-back), 3040 (enso-back). Les fichiers deploy/nginx/*.enso.*.locations.snippet et deploy/nginx/*.docv.*.locations.snippet reprennent ce câblage. Ne pas modifier les autres vhosts du proxy (autres produits / domaines).

Domaines DNS (enso) : test.enso.4nkweb.com, pprod.enso.4nkweb.com, prod.enso.4nkweb.com.

Domaines DNS (docv) : test.docv.4nkweb.com, pprod.docv.4nkweb.com, prod.docv.4nkweb.com (TLS et DNS configurés). Même plan dadressage machine que les domaines enso correspondants (101 / 102 / 103).

Règles de ports pour le produit docv (vhosts *.docv.*) :

  • Ne pas binder de service docv sur les ports déjà utilisés sur les machines cibles (§1 : 22, 25, 631, 3009, 3100, 3101, 80, 443, 3000, 3004, 3310, 9050, 9051, 18443, 29000, 38333, 38334, 5432, etc. — revérifier après chaque audit ss).
  • Ne pas réutiliser les ports réservés du déploiement docv / enso pour dautres rôles : 3032 (enso-front), 3038 (docv-back), 3040 (enso-back), 3005 (docv-front prévu), 3022 (API IA dédiée).
  • docv-back (API socle) : 3038 (distinct de 3032 / 3040).
  • docv-front (prévu) : 3005 — ne pas utiliser 3032 (réservé enso-front).

Référence : INSTALLATION_ENVIRONNEMENT.md.


1. Ports déjà utilisés sur les machines test / pprod / prod (vérifiés)

Connexion SSH aux trois machines et exécution de ss -tlnp. Ports en écoute (hors localhost sauf si exposé) :

test (192.168.1.101)

Port Processus / usage
22 sshd
25 (mail)
631 cups
3009 node (LeCoffreIO ou équivalent)
3100 next-server
3101 node
5432 PostgreSQL (localhost)

pprod (192.168.1.102)

Port Processus / usage
22 sshd
25 (mail)
631 cups
3009 node
3100 next-server
3101 node
5432 PostgreSQL (localhost)

prod (192.168.1.103)

Port Processus / usage
22 sshd
25 (mail)
631 cups
80 HTTP
443 HTTPS
3000 node
3004 MainThread (déjà utilisé)
3009 node
3100 next-server
3101 node
3310 (autre service)
5432 PostgreSQL (localhost)
9050, 9051 (Tor)
18443, 29000, 38333, 38334 bitcoind

Conclusion : les ports 3032, 3038, 3040 (stack enso + docv-back derrière le proxy), 3005 (docv-front), 3022 sont retenus pour le périmètre actuel du monorepo et doivent rester libres sur les machines applicatives par rapport à la liste §1 au moment du dernier audit — revérifier avec ss avant toute mise en service. Le port 3004 est occupé sur prod (service existant). Le port 3000 est occupé sur prod ; lAPI IA (ai) utilise 3022 lorsquelle tourne sur une machine dédiée (ex. poste de dev, 192.168.1.173).


2. Briques logicielles ouvrant des ports

Toutes les briques du projet enso qui ouvrent un port TCP :

Brique Type Consommée par
docv-back Backend Rust Proxy, fronts (via API)
enso-back Backend Rust Proxy, enso-front
enso-front Front Next.js Proxy, navigateur
docv-front Front Next.js (vhost .docv.) Proxy, navigateur ; port 3005, distinct denso-front (3032)
API IA (sous-module ai) API TypeScript (Ollama, AnythingLLM) docv-back, enso-back (variable IA_API_URL)

LAPI IA est une brique à part. Pour linstant les services IA ne tournent que sur le poste de développement et sur la machine 192.168.1.173 (ce poste / machine ia). Sur test, pprod et prod, lAPI IA nest pas déployée : les backends de ces environnements pointent IA_API_URL vers 192.168.1.173:3022. Lorsquelle tourne (dev ou 173), elle écoute sur le port 3022.

2bis. Logiciels IA du socle (en plus de lAPI IA)

LAPI IA (sous-module ai, port 3022) sappuie sur le socle IA : Ollama et AnythingLLM. Ces logiciels ouvrent euxmêmes des ports. Ils sont installés sur le poste de développement et sur 192.168.1.173 (pas sur test/pprod/prod pour linstant). Les backends nappellent pas directement ces logiciels, uniquement lAPI IA.

Logiciel Port par défaut Variable / config Consommée par
Ollama 11434 OLLAMA_HOST (ex. 0.0.0.0:11434) API IA (sous-module ai)
AnythingLLM 3001 SERVER_PORT (dans .env AnythingLLM) API IA (sous-module ai)
API IA (ai/) 3022 PORT ou config du serveur API IA docv-back, enso-back (IA_API_URL)

Note : Si le port 3001 est déjà utilisé sur la machine (poste de dev ou 173), configurer AnythingLLM sur un autre port (ex. 3019 ou 3021) via SERVER_PORT. LAPI IA (ai) doit être configurée pour pointer vers les URLs réelles dOllama et dAnythingLLM (ex. http://localhost:11434 pour Ollama, http://localhost:3001 ou le port choisi pour AnythingLLM).

3. APIs, BDD et services par environnement

Sur chaque environnement (développement, test, pprod, prod) on a des APIs (backends), une BDD (PostgreSQL) et des services (fronts). Chaque type utilise des ports distincts ; il y a donc plusieurs ports par environnement, pas un seul.

Type Port(s) Rôle
APIs (backends) 3038, 3040 docv-back, enso-back
BDD 5432 (localhost) PostgreSQL (docv, enso par BDD ou schémas)
Services (fronts) 3032, 3005 enso-front ; docv-front (vhost docv uniquement)
API IA (sous-module ai) 3022 Uniquement sur poste de dev et 192.168.1.173 pour linstant ; test/pprod/prod appellent 192.168.1.173:3022
Ollama (socle IA) 11434 Sur poste de dev et 173 ; consommée par lAPI IA
AnythingLLM (socle IA) 3001 (ou autre si SERVER_PORT défini) Sur poste de dev et 173 ; consommée par lAPI IA

Sur test, pprod et prod : mêmes ports pour APIs et fronts (3038, 3040, 3032, 3005 lorsque docv-front est déployé) ; BDD locale (5432). LAPI IA et le socle IA (Ollama, AnythingLLM) nécoutent pas sur ces machines.

4. Ports nécessaires pour enso

Le monorepo enso expose quatre briques applicatives principales côté produit (deux backends, deux fronts) plus l'API IA à part :

Service Rôle
docv-back Backend API socle commun
enso-back Backend API enso (avocats)
enso-front Front Next.js enso
docv-front Front docv (vhost .docv.) — port 3005
API IA (ai/) API IA TypeScript (Ollama, AnythingLLM) ; consommée par les backends

Chaque processus écoute sur un port dédié. Les mêmes numéros pour APIs et fronts en développement, test, pprod et prod (sauf API IA : uniquement dev + 173). LAPI IA (3022) nécoute que sur le poste de développement et sur 192.168.1.173 pour linstant.


5. Attribution des ports (libres, identiques partout)

Ports retenus sur test, pprod, prod et en développement local (alignés proxy nginx + applications) :

Port Service Fichier / variable concerné
3032 enso-front enso/enso-front/package.json (dev, start)
3005 docv-front (vhost .docv.) docv/docv-front/package.json lorsque le front existe
3038 docv-back docv/docv-back/.envPORT=3038
3040 enso-back enso/enso-back/.envPORT=3040
3022 API IA (ai/) Config du serveur API IA ; IA_API_URL dans les backends. Pour linstant : API IA uniquement sur le poste de dev et sur 192.168.1.173. Sur test/pprod/prod, IA_API_URL = http://192.168.1.173:3022.

Règle : les mêmes numéros en local, test, pprod et prod. LAPI IA (3022) ne tourne que sur le poste de dev et la machine 173 ; les autres environnements lappellent à distance.


6. Résumé par environnement

Sur chaque environnement : APIs (backends), BDD (PostgreSQL), services (fronts). Plusieurs ports par machine.

Environnement Machine / poste APIs (3038, 3040) BDD (5432) Fronts (3032, docv 3005) API IA (3022)
Développement Poste local oui oui oui oui (locale)
test 192.168.1.101 oui oui oui non → appelle 192.168.1.173:3022
pprod 192.168.1.102 oui oui oui non → appelle 192.168.1.173:3022
prod 192.168.1.103 oui oui oui non → appelle 192.168.1.173:3022
Services IA 192.168.1.173 (ce poste) oui (3022) ; consommée par test/pprod/prod et par le poste de dev

Détail des ports par machine :

Machine / poste docv-back docv-front enso-back enso-front API IA
Poste de dev 3038 3005 3040 3032 3022
test 192.168.1.101 3038 3005 3040 3032
pprod 192.168.1.102 3038 3005 3040 3032
prod 192.168.1.103 3038 3005 3040 3032
192.168.1.173 3022

Sur le poste de dev et 192.168.1.173, en plus des ports cidessus (pour le poste de dev : 3038, 3005, 3040, 3032, 3022 ; pour 173 : 3022 uniquement), les logiciels du socle IA écoutent : Ollama sur 11434, AnythingLLM sur 3001 (ou le port défini par SERVER_PORT). LAPI IA (3022) appelle Ollama et AnythingLLM en local sur ces machines.

Routage côté proxy 192.168.1.100 :
enso : test.enso.4nkweb.com → 192.168.1.101 ; pprod.enso.4nkweb.com → 192.168.1.102 ; prod.enso.4nkweb.com → 192.168.1.103 — préfixes location : /3032, /api/3040, /docv-api/3038.
docv : test|pprod|prod.docv.4nkweb.com → même IP ; 3038 (API) ; 3005 lorsque docv-front sera déployé. Fichiers : deploy/nginx/*.docv.*.locations.snippet, deploy/nginx/*.enso.*.locations.snippet. Les backends test/pprod/prod utilisent IA_API_URL=http://192.168.1.173:3022 pour lAPI IA.


7. Vérification des ports sur une machine

Avant déploiement ou au diagnostic, lister les ports en écoute :

ss -tlnp | grep -E '3032|3038|3040|3005|3022'
# ou
sudo lsof -i -P -n | grep LISTEN | grep -E '3032|3038|3040|3005|3022'

Sassurer quaucun autre service nutilise déjà ces ports sur la machine cible. Sur le poste de dev et 192.168.1.173, inclure aussi les ports du socle IA :

ss -tlnp | grep -E '3032|3038|3040|3003|3005|3010|3022|11434|3001'

8. Références