PostgreSQL sur 5433 : DSM occupe deja le port standard
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 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KKzkkVTG6KXnGXFFC7X9XJ
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user