mirror of
https://github.com/R0m1k3/Presencia.git
synced 2026-10-11 17:27:42 +02:00
- Renomme les services (db/backend/frontend -> presencia-db/ presencia-backend/presencia-frontend) : sur le réseau externe partagé nginx_default, un nom générique comme "db" peut entrer en collision avec un service du même nom dans une autre stack, et Docker résout alors le nom en round-robin vers le mauvais container. Confirmé en prod : le bootstrap réussissait puis une requête suivante échouait avec une erreur d'authentification alors que le mot de passe était correct. - nginx résout maintenant le backend dynamiquement (resolver + variable) au lieu de résoudre une seule fois au démarrage, pour survivre à une recréation du container backend. - Ajoute express-async-errors : une erreur dans une route async (ex. la requête pg qui échoue) était une rejection non gérée et faisait planter tout le process Node au lieu de renvoyer une 500 propre. Testé en local : avant le fix, une erreur d'auth pg tuait le process ; après le fix, il répond 500 et reste opérationnel.
55 lines
1.2 KiB
YAML
55 lines
1.2 KiB
YAML
services:
|
|
presencia-db:
|
|
image: postgres:16-alpine
|
|
restart: unless-stopped
|
|
environment:
|
|
POSTGRES_USER: presencia
|
|
POSTGRES_PASSWORD: R4dsITu0vuigNQQwNlvj0agVyHupSyX
|
|
POSTGRES_DB: presencia
|
|
volumes:
|
|
- presencia_pgdata:/var/lib/postgresql/data
|
|
ports:
|
|
- "6543:5432"
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U presencia"]
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 10
|
|
|
|
presencia-backend:
|
|
build: ./backend
|
|
restart: unless-stopped
|
|
depends_on:
|
|
presencia-db:
|
|
condition: service_healthy
|
|
environment:
|
|
PORT: 4790
|
|
PGHOST: presencia-db
|
|
PGPORT: 5432
|
|
PGUSER: presencia
|
|
PGPASSWORD: R4dsITu0vuigNQQwNlvj0agVyHupSyX
|
|
PGDATABASE: presencia
|
|
JWT_SECRET: change-me-to-a-long-random-string
|
|
COOKIE_SECURE: "false"
|
|
ADMIN_EMAIL: michaelschal@ffest.fr
|
|
ADMIN_PASSWORD: Lapîn2509
|
|
ADMIN_NAME: Michael
|
|
ports:
|
|
- "4790:4790"
|
|
|
|
presencia-frontend:
|
|
build: ./frontend
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- presencia-backend
|
|
ports:
|
|
- "8781:80"
|
|
|
|
networks:
|
|
default:
|
|
name: nginx_default
|
|
external: true
|
|
|
|
volumes:
|
|
presencia_pgdata:
|