From 364c8fe647f0192a6860ccc17c105bbd4fe1f89f Mon Sep 17 00:00:00 2001 From: M Firdaus Riawan <66874830+sonarta@users.noreply.github.com> Date: Sat, 6 Sep 2025 18:30:01 +0700 Subject: [PATCH] fix: ensure environment variables are loaded correctly in Docker (#49) * feat: add reverse proxy support with configurable base path and trust proxy settings * fix: ensure environment variables are loaded correctly in Docker - Move dotenv config to the top of server.js - Update docker-compose.yml to properly handle .env file - Remove duplicate environment variables section This ensures BASE_PATH and TRUST_PROXY work as expected in both Docker and local environments. --- docker-compose.yml | 1 + server.js | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 7b9b068..cddbb08 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -10,6 +10,7 @@ services: restart: always ports: - "3000:3000" + env_file: .env environment: # Core Configuration - BASE_WEBHOOK_URL=http://localhost:3000/localCallbackExample diff --git a/server.js b/server.js index ec7b088..b6a15f0 100644 --- a/server.js +++ b/server.js @@ -1,11 +1,12 @@ +// Load environment variables first +require('dotenv').config({ path: process.env.ENV_PATH || '.env' }) + const app = require('./src/app') const { baseWebhookURL, enableWebHook, enableWebSocket, autoStartSessions } = require('./src/config') const { logger } = require('./src/logger') const { handleUpgrade } = require('./src/websocket') const { restoreSessions } = require('./src/sessions') -require('dotenv').config() - // Start the server const port = process.env.PORT || 3000