From df641c985da0dfdadd911be0b0860fb802a0fa82 Mon Sep 17 00:00:00 2001 From: steve Date: Wed, 22 Jul 2026 12:41:27 +0200 Subject: [PATCH] =?UTF-8?q?docs:=20ECOSYSTEME=20(vue=20infra)=20+=20corrig?= =?UTF-8?q?e=20l'=C3=A9tape=203=20p=C3=A9rim=C3=A9e=20(WireGuard=20?= =?UTF-8?q?=E2=86=92=20IKEv2=20Freebox)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.8 (1M context) --- ECOSYSTEME.md | 29 +++++++++++++++++++++++++++++ runbooks/vpn-nas-vps-pont-api.md | 12 +++++++++++- 2 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 ECOSYSTEME.md diff --git a/ECOSYSTEME.md b/ECOSYSTEME.md new file mode 100644 index 0000000..f6f41bf --- /dev/null +++ b/ECOSYSTEME.md @@ -0,0 +1,29 @@ +# Écosystème Navier — vu depuis le repo VPS + +Ce repo = **runbooks d'infrastructure** (VPN NAS↔VPS, pont SAV, NPM). Il ne contient pas de code +applicatif. Pour la carte complète + le **journal des décisions**, source canonique : + +➡️ **[navier-website/ECOSYSTEME.md](https://git.navier-instruments.com/Chamsgruge/navier-website/src/branch/sav-online/ECOSYSTEME.md)** + +## Ce qui tourne sur le VPS (78.138.45.8) + +| Conteneur | Port hôte | Domaine | Repo source | +|---|---|---|---| +| `nginx` (NPM) | 80/81/443 | (front tous) | — | +| `navier-site-web` | 8084 | www / staging.navier-instruments.com | navier-website (`/`) | +| `navier-espace-web` | 8085 (`--network host`) | /espace/ | navier-website (`espace/`) | +| `navier-sav-bridge` | 8090 (127.0.0.1) | /sav/demande | navier-website (`services/sav-bridge/`) | +| `navier-cloud-web` | 8082 | app.navier-cloud.com | Navier_Cloud | +| `thingsboard` | 8080 | (backend cloud) | Navier_Cloud/thingsboard | +| `gitea` | 3000/222 | git.navier-instruments.com | — | +| `portainer` | 8000/9000 | — | — | + +Le pont **NAS** (`@navier/sav-pont`, Dolibarr + ThingsBoard) est **interne au NAS 192.168.10.104**, +joint via le **tunnel IKEv2 Freebox** (décision D8 — WireGuard abandonné). Un conteneur qui doit le +joindre tourne en `--network host` (sinon SNAT hors tunnel → 000). + +## Points d'attention (déjà notés dans le runbook) +- `runbooks/vpn-nas-vps-pont-api.md` **§ Étape 3 est PÉRIMÉE** (WireGuard `10.8.0.1`) — la réalité + est IKEv2, NAS `192.168.10.104`. Corrigé en tête de section. +- Accès : `ssh navier-vps` (deploy, port 22) ; `ssh -J navier-vps nas` pour le NAS. +- NPM se configure **à la main** (UI :81), rien n'est versionné ici. diff --git a/runbooks/vpn-nas-vps-pont-api.md b/runbooks/vpn-nas-vps-pont-api.md index b1cca63..4ece905 100644 --- a/runbooks/vpn-nas-vps-pont-api.md +++ b/runbooks/vpn-nas-vps-pont-api.md @@ -73,8 +73,18 @@ curl -s http://localhost:8080/health # doit répondre 200 ``` ## Étape 3 — Exposer `api.navier-instruments.com` (VPS) + +> ⚠️ **PÉRIMÉ — ne pas appliquer tel quel.** Cette étape date du plan WireGuard, **abandonné** +> (voir « ✅ RÉALISÉ » plus bas : la Freebox Pro filtre l'UDP sortant → VPN **IKEv2** retenu). +> L'adresse du pont n'est **pas** `10.8.0.1` mais **`192.168.10.104:8080`**. +> Rappel du piège réseau : un conteneur en **bridge** est SNAT hors du tunnel → il faut +> **`--network host`** (c'est ce que fait `navier-espace-web`). +> État au 2026-07-20 : `api.navier-instruments.com` **n'a aucun enregistrement DNS** — cette +> étape n'a jamais été exécutée. Le pont est joint en interne, pas via un domaine public. + 1. **DNS (LWS)** : `api.navier-instruments.com A 78.138.45.8` (+ `AAAA` si IPv6 VPS). -2. **NPM (Nginx Proxy Manager)** : Proxy Host `api.navier-instruments.com` → **`10.8.0.1:8080`** (le pont via le VPN) + **SSL Let's Encrypt** (Force SSL, HTTP/2). +2. **NPM (Nginx Proxy Manager)** : Proxy Host `api.navier-instruments.com` → ~~`10.8.0.1:8080`~~ + → **`192.168.10.104:8080`** + **SSL Let's Encrypt** (Force SSL, HTTP/2). 3. Vérifier : `curl -I https://api.navier-instruments.com/health` → **200**. ## Étape 4 — Brancher les consommateurs