From 60d2121b83dc015872b10f3eaa6f74359de157f9 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 5 Jul 2026 00:39:16 -0500 Subject: [PATCH] Fix bot container inheriting site PORT/LOG_FILE from shared .env MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Claude-Session: https://claude.ai/code/session_019rao86n5cXpwAyjdBFEshV --- docker-compose.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index dd9ba50..21cd14b 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -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