From 478ec3e307c385ff136e4160f8f6fbdf5231bed9 Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 10 Jul 2026 20:13:31 +0000 Subject: [PATCH] =?UTF-8?q?Rattache=20l'app=20au=20r=C3=A9seau=20externe?= =?UTF-8?q?=20nginx=5Fdefault?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Le service app rejoint le réseau externe nginx_default (nom configurable via PROXY_NETWORK) avec l'alias stable « sbc-app » pour l'upstream nginx (proxy_pass http://sbc-app:3000) - La base de données reste sur le réseau interne de la stack uniquement - README : section reverse-proxy (création du réseau, TRUST_PROXY, COOKIE_SECURE, en-têtes à transmettre) Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01Fkg15RCxNgUys4ru73He2o --- README.md | 16 ++++++++++++++++ docker-compose.yml | 14 ++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/README.md b/README.md index 1a1a588..9080f96 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,22 @@ Navigateur ──> app (Express :8321) ──> db (PostgreSQL, 127.0.0.1:58412) Le mapping PostgreSQL est lié à `127.0.0.1` : la base reste inaccessible depuis le réseau. Supprimez la section `ports:` du service `db` pour la fermer totalement. +### Reverse-proxy nginx existant + +Le conteneur `app` est aussi rattaché au réseau externe `nginx_default` +(configurable via `PROXY_NETWORK`) avec l'alias **`sbc-app`**. Depuis votre +stack nginx, pointez simplement l'upstream vers : + +```nginx +proxy_pass http://sbc-app:3000; +``` + +Ce réseau doit exister avant le déploiement (`docker network create nginx_default` +s'il manque). Derrière nginx en HTTPS, passez `TRUST_PROXY=true` et +`COOKIE_SECURE=true`, et transmettez les en-têtes `Host`/`X-Forwarded-*` +(`proxy_set_header Host $http_host;`). La base de données, elle, reste hors du +réseau du proxy. + - **Frontend** : React 18 + Vite + React Router — reproduction fidèle de la maquette (`SLUC Business Club.dc.html`). - **Backend** : Express, `pg` (requêtes paramétrées), `zod` (validation), `bcryptjs` diff --git a/docker-compose.yml b/docker-compose.yml index b415063..1c2c431 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -61,6 +61,12 @@ services: - uploads:/data/uploads ports: - "${APP_PORT:-8321}:3000" + networks: + default: + proxy: + aliases: + # Stable name for the nginx upstream: proxy_pass http://sbc-app:3000; + - sbc-app depends_on: db: condition: service_healthy @@ -77,6 +83,14 @@ services: timeout: 5s retries: 6 +networks: + default: + # Existing network of the nginx reverse-proxy stack. Create it first if it + # does not exist: docker network create nginx_default + proxy: + external: true + name: ${PROXY_NETWORK:-nginx_default} + volumes: db_data: uploads: