Corrige la connexion BDD : alias unique sbc-db et variables PG discrètes

Sur le réseau partagé nginx_default, le nom « db » peut résoudre vers le
PostgreSQL d'une autre stack : l'application se connectait au mauvais
serveur (password authentication failed pour sbc_app alors que db-sync,
lui, visait le bon). Reproduit et vérifié avec un conteneur leurre.

- La base obtient l'alias réseau unique « sbc-db » ; l'app et db-sync
  s'y connectent via ce nom, jamais via « db »
- DATABASE_URL remplacé par PGHOST/PGPORT/PGDATABASE/PGUSER/PGPASSWORD :
  insensible aux caractères spéciaux du mot de passe et aux ambiguïtés
  de résolution DNS

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Fkg15RCxNgUys4ru73He2o
This commit is contained in:
Claude committed 2026-07-11 02:32:25 +00:00
1 parent e3f5869bc8
commit d3e8890100
3 files changed
+22 -4

No files matched your search

+7 -1
View File
@@ -23,7 +23,13 @@ if (jwtSecret.length < 32) {
export const config = {
port: Number(process.env.PORT || 8321),
databaseUrl: required('DATABASE_URL'),
db: {
host: process.env.PGHOST || 'localhost',
port: Number(process.env.PGPORT || 5432),
database: process.env.PGDATABASE || 'sbc',
user: process.env.PGUSER || 'sbc_app',
password: required('PGPASSWORD'),
},
jwtSecret,
cookieSecure: process.env.COOKIE_SECURE === 'true',
// set to "true" only when running behind a reverse proxy (TLS termination)
+1 -1
View File
@@ -2,7 +2,7 @@ import pg from 'pg';
import { config } from './config.js';
export const pool = new pg.Pool({
connectionString: config.databaseUrl,
...config.db,
max: 10,
idleTimeoutMillis: 30_000,
connectionTimeoutMillis: 5_000,