Fix bot container inheriting site PORT/LOG_FILE from shared .env
The app and bot services share env_file: .env, so the site's PORT=3000 leaked into the bot container. The bot code is `PORT || 4100`, so it bound 3000 instead of 4100 — and the server's BOT_INTERNAL_URL (http://bot:4100) then couldn't reach it, surfacing as "failed to fetch" on the admin Discord Bot page even though the bot was otherwise healthy and connected to Discord. Pin PORT: 4100 on the bot service so it binds where the server expects. Also override LOG_FILE: bot.log so the bot doesn't inherit the site's LOG_FILE and write into app.log, keeping the two logs distinct. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019rao86n5cXpwAyjdBFEshV
This commit is contained in:
@@ -51,6 +51,14 @@ services:
|
||||
env_file: .env
|
||||
environment:
|
||||
DB_HOST: db
|
||||
# Pin the bot's own listen port. Both services share env_file: .env, so
|
||||
# without this the site's PORT=3000 leaks in and the bot binds 3000 instead
|
||||
# of 4100 — then the server's BOT_INTERNAL_URL (http://bot:4100) can't reach
|
||||
# it ("failed to fetch" in the admin panel). Must match that URL's port.
|
||||
PORT: 4100
|
||||
# Likewise override the log filename so the bot doesn't inherit the site's
|
||||
# LOG_FILE and write into app.log — keep the bot's log distinct.
|
||||
LOG_FILE: bot.log
|
||||
# Internal config fetch goes to the app's UNPUBLISHED internal port (3001),
|
||||
# not the public 3000. Keep the port in sync with the app's INTERNAL_PORT.
|
||||
SITE_INTERNAL_URL: http://app:3001/internal/bot-config
|
||||
|
||||
Reference in New Issue
Block a user