Compare commits

...

1 Commits

Author SHA1 Message Date
2dae2ac3ca fix(app): use stack-prefixed hostnames for redis and db
The app service was missing DISCOURSE_REDIS_HOST entirely, so the
bitnami image defaulted to the bare hostname 'redis', which does not
resolve when the service is attached to multiple overlay networks
(proxy + internal) — causing a restart loop.

sidekiq had the same problem worse: both DISCOURSE_DATABASE_HOST=db
and DISCOURSE_REDIS_HOST=redis used bare hostnames instead of the
stack-prefixed service names. On a swarm stack the reliable DNS name
is ${STACK_NAME}_db / ${STACK_NAME}_redis.
2026-06-23 16:46:20 +00:00

View File

@ -16,6 +16,8 @@ services:
- DISCOURSE_DATABASE_USER=discourse - DISCOURSE_DATABASE_USER=discourse
- DISCOURSE_HOST=${DOMAIN} - DISCOURSE_HOST=${DOMAIN}
- DISCOURSE_NOTIFICATION_EMAIL - DISCOURSE_NOTIFICATION_EMAIL
# bare "redis" doesn't resolve when app is on multiple networks; use stack-prefixed name
- DISCOURSE_REDIS_HOST=${STACK_NAME}_redis
- DISCOURSE_SMTP_AUTH - DISCOURSE_SMTP_AUTH
- DISCOURSE_SMTP_HOST - DISCOURSE_SMTP_HOST
- DISCOURSE_SMTP_PORT - DISCOURSE_SMTP_PORT
@ -100,13 +102,13 @@ services:
- db_password - db_password
environment: environment:
- ALLOW_EMPTY_PASSWORD=yes - ALLOW_EMPTY_PASSWORD=yes
- DISCOURSE_DATABASE_HOST=db - DISCOURSE_DATABASE_HOST=${STACK_NAME}_db
- DISCOURSE_DATABASE_NAME=discourse - DISCOURSE_DATABASE_NAME=discourse
- DISCOURSE_DATABASE_PASSWORD_FILE=/run/secrets/db_password - DISCOURSE_DATABASE_PASSWORD_FILE=/run/secrets/db_password
- DISCOURSE_DATABASE_PORT_NUMBER=5432 - DISCOURSE_DATABASE_PORT_NUMBER=5432
- DISCOURSE_DATABASE_USER=discourse - DISCOURSE_DATABASE_USER=discourse
- DISCOURSE_HOST=${DOMAIN} - DISCOURSE_HOST=${DOMAIN}
- DISCOURSE_REDIS_HOST=redis - DISCOURSE_REDIS_HOST=${STACK_NAME}_redis
- DISCOURSE_REDIS_PORT_NUMBER=6379 - DISCOURSE_REDIS_PORT_NUMBER=6379
- DISCOURSE_SMTP_HOST - DISCOURSE_SMTP_HOST
- DISCOURSE_SMTP_PORT - DISCOURSE_SMTP_PORT