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.
This commit is contained in:
@ -16,6 +16,8 @@ services:
|
||||
- DISCOURSE_DATABASE_USER=discourse
|
||||
- DISCOURSE_HOST=${DOMAIN}
|
||||
- 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_HOST
|
||||
- DISCOURSE_SMTP_PORT
|
||||
@ -100,13 +102,13 @@ services:
|
||||
- db_password
|
||||
environment:
|
||||
- ALLOW_EMPTY_PASSWORD=yes
|
||||
- DISCOURSE_DATABASE_HOST=db
|
||||
- DISCOURSE_DATABASE_HOST=${STACK_NAME}_db
|
||||
- DISCOURSE_DATABASE_NAME=discourse
|
||||
- DISCOURSE_DATABASE_PASSWORD_FILE=/run/secrets/db_password
|
||||
- DISCOURSE_DATABASE_PORT_NUMBER=5432
|
||||
- DISCOURSE_DATABASE_USER=discourse
|
||||
- DISCOURSE_HOST=${DOMAIN}
|
||||
- DISCOURSE_REDIS_HOST=redis
|
||||
- DISCOURSE_REDIS_HOST=${STACK_NAME}_redis
|
||||
- DISCOURSE_REDIS_PORT_NUMBER=6379
|
||||
- DISCOURSE_SMTP_HOST
|
||||
- DISCOURSE_SMTP_PORT
|
||||
|
||||
Reference in New Issue
Block a user