diff --git a/.env.example b/.env.example index 7c93a85..3ed7ead 100644 --- a/.env.example +++ b/.env.example @@ -1,9 +1,10 @@ # ---- Database (external Postgres) ---- -# When running the app via docker-compose, host is the compose service name -# "postgres" on the internal port 5432 (NOT the published host port). +# With docker-compose the app reaches Postgres via the UNIQUE container name +# "pleinr-postgres" on the internal port 5432 (avoids collisions with other +# "postgres" containers on a shared proxy network; NOT the published host port). # For local dev outside Docker against the dockerised Postgres, use # localhost on the published host port: postgres://pleinr:pleinr@localhost:54329/pleinr -DATABASE_URL=postgres://pleinr:pleinr@postgres:5432/pleinr +DATABASE_URL=postgres://pleinr:pleinr@pleinr-postgres:5432/pleinr # Individual vars consumed by the postgres container in docker-compose.yml POSTGRES_USER=pleinr diff --git a/docker-compose.yml b/docker-compose.yml index ca87cc1..40d7434 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -34,7 +34,10 @@ services: postgres: condition: service_healthy environment: - DATABASE_URL: postgres://${POSTGRES_USER:-pleinr}:${POSTGRES_PASSWORD:-pleinr}@postgres:5432/${POSTGRES_DB:-pleinr} + # Use the UNIQUE container name (not the generic "postgres" alias) to avoid + # name collisions with other "postgres" containers on the shared proxy + # network. pleinr-postgres only exists on our internal network. + DATABASE_URL: postgres://${POSTGRES_USER:-pleinr}:${POSTGRES_PASSWORD:-pleinr}@pleinr-postgres:5432/${POSTGRES_DB:-pleinr} # Optional: if left empty, the container generates and persists one # automatically (see docker-entrypoint.sh + the app-data volume). AUTH_SECRET: ${AUTH_SECRET:-}