From ab66a9ed54e823c01a724c1500a3d2367e4cfb42 Mon Sep 17 00:00:00 2001 From: Tallagrand Thierry Date: Fri, 4 Sep 2026 01:35:52 +0200 Subject: [PATCH] PostgreSQL sur 5433 : DSM occupe deja le port standard MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Le demarrage a echoue sur "listen tcp4 0.0.0.0:5432: bind: address already in use". Synology fait tourner son propre PostgreSQL sur le port standard pour ses services internes ; on ne le deloge pas, on se met a cote. Notre base est donc publiee sur 5433, et ce port ne sert qu a l analyse depuis un poste de travail. Corrige au passage une erreur de conception que ce plantage a revelee : j avais repris network_mode bridge du chien de garde, ou il se justifiait parce qu il n a qu un conteneur et doit joindre le GX. Ici il prive les trois services du reseau interne de compose, donc de la resolution par nom — ce qui m avait conduit a coder l adresse 10.10.10.22 en dur dans le service d historisation pour qu il rejoigne une base situee dans le meme compose. Supprime : les conteneurs se parlent desormais par nom de service, sans dependre du port publie ni d une IP. InfluxDB a demarre du premier coup, 8086 etant libre. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01KKzkkVTG6KXnGXFFC7X9XJ --- deploy/historisation/README.md | 19 +++++++++++++++++++ deploy/historisation/compose.yaml | 14 ++++++++------ 2 files changed, 27 insertions(+), 6 deletions(-) diff --git a/deploy/historisation/README.md b/deploy/historisation/README.md index f18eda2..9e0dd1c 100644 --- a/deploy/historisation/README.md +++ b/deploy/historisation/README.md @@ -51,6 +51,25 @@ Vérifications : ```sh docker compose exec postgres psql -U evcs -d evcs -c '\dt' curl -s http://10.10.10.22:8086/health +docker compose logs historisation --tail 5 +``` + +### Ports : 5433, et pas 5432 + +DSM fait tourner **son propre PostgreSQL sur 5432**, pour ses services internes. +Notre base est donc publiée sur **5433**. Ce port ne sert qu'à l'analyse depuis +un poste de travail : + +```sh +psql -h 10.10.10.22 -p 5433 -U evcs -d evcs +``` + +Les trois conteneurs, eux, se parlent par le réseau interne du compose et par +nom de service (`postgres:5432`) — ni adresse IP en dur, ni dépendance au port +publié. Vérifier ce qui occupe un port avant de conclure : + +```sh +sudo ss -lntp | grep -E '5432|5433|8086' ``` Le schéma (`schema.sql`) est appliqué **une seule fois**, à la création de la diff --git a/deploy/historisation/compose.yaml b/deploy/historisation/compose.yaml index 656947d..91b66c9 100644 --- a/deploy/historisation/compose.yaml +++ b/deploy/historisation/compose.yaml @@ -37,10 +37,12 @@ services: image: postgres:16-alpine container_name: evcs-postgres restart: always - network_mode: bridge ports: - # Ouvert au réseau local : n8n tourne sur 10.10.10.17 et doit écrire ici. - - "5432:5432" + # 5433 et non 5432 : DSM fait deja tourner son propre PostgreSQL sur le + # port standard, pour ses services internes. On ne le deloge pas — on se + # met a cote. Ce port n'est publie que pour l'analyse depuis un poste de + # travail ; l'historisation, elle, passe par le reseau interne. + - "5433:5432" env_file: - .env environment: @@ -64,7 +66,6 @@ services: image: influxdb:2.7-alpine container_name: evcs-influxdb restart: always - network_mode: bridge ports: # Home Assistant, sur 10.10.10.17, écrit ici. - "8086:8086" @@ -97,7 +98,6 @@ services: container_name: evcs-historisation restart: always working_dir: /app - network_mode: bridge depends_on: postgres: condition: service_healthy @@ -109,7 +109,9 @@ services: environment: - TZ=Europe/Paris - HA_URL=http://10.10.10.17:8123 - - PGHOST=10.10.10.22 + # Nom de service sur le reseau interne du compose : ni IP en dur, ni + # dependance au port publie sur l'hote. + - PGHOST=postgres - PGPORT=5432 - PGUSER=evcs - PGDATABASE=evcs