From a901ce005c94ccbb66ccb8ac27ff52bc3f1f6a02 Mon Sep 17 00:00:00 2001 From: Justin Lin Date: Mon, 21 Oct 2024 12:53:39 +0800 Subject: [PATCH] fix: pass env file to containers directly --- .env.prod.sample | 4 ++++ docker-compose.prod.yml | 26 ++------------------------ packages/analytics/src/config.ts | 10 ++++++---- 3 files changed, 12 insertions(+), 28 deletions(-) diff --git a/.env.prod.sample b/.env.prod.sample index e269297..8cf901b 100644 --- a/.env.prod.sample +++ b/.env.prod.sample @@ -8,10 +8,14 @@ MONGO_ROOT_PASSWORD=adminpassword MONGO_USER=commander MONGO_PASS=commander MONGO_DB=linux-odyssey +MONGO_URL=mongodb://commander:commander@db:27017/linux-odyssey # Admin user credentials for analytics ADMIN_USERNAME=admin ADMIN_PASSWORD=admin +ADMIN_HOST=0.0.0.0 +ADMIN_PORT=3001 +# ADMIN_BASE_URL=http://0.0.0.0:3001 # Optional # CONTAINER_EXPIRY=60 # 60 minutes diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml index 1495d9e..6eb9c63 100644 --- a/docker-compose.prod.yml +++ b/docker-compose.prod.yml @@ -1,4 +1,3 @@ -version: '3' services: app: image: linuxodyssey/frontend @@ -33,21 +32,10 @@ services: - ./quests:/app/quests:ro env_file: - .env - - .env.prod environment: - - MONGO_URL=mongodb://${MONGO_USER}:${MONGO_PASS}@db:27017/${MONGO_DB} - DOCKER_NETWORK=linux-odyssey-players - - SECRET_KEY=${SECRET_KEY} - - TRUSTED_PROXIES=${TRUSTED_PROXIES} - BACKEND_URL=http://backend:3000 - - BASE_URL=${BASE_URL} - HOST_PROJECT_ROOT=${PWD} - - GOOGLE_CLIENT_ID=${GOOGLE_CLIENT_ID} - - GOOGLE_CLIENT_SECRET=${GOOGLE_CLIENT_SECRET} - - GITHUB_CLIENT_ID=${GITHUB_CLIENT_ID} - - GITHUB_CLIENT_SECRET=${GITHUB_CLIENT_SECRET} - - SURVEY_URL=${SURVEY_URL} - - BUG_REPORT_URL=${BUG_REPORT_URL} analytics: image: linuxodyssey/analytics @@ -64,11 +52,6 @@ services: - '3001:3001' env_file: - .env - - .env.prod - environment: - - MONGO_URL=mongodb://${MONGO_USER}:${MONGO_PASS}@db:27017/${MONGO_DB} - - ADMIN_USERNAME=${ADMIN_USERNAME} - - ADMIN_PASSWORD=${ADMIN_PASSWORD} db: image: mongo @@ -80,13 +63,8 @@ services: volumes: - mongo:/data/db - ./mongo-init.js:/docker-entrypoint-initdb.d/mongo-init.js:ro - environment: - - BASE_URL=${BASE_URL} - - MONGO_INITDB_ROOT_USERNAME=admin - - MONGO_INITDB_ROOT_PASSWORD=${MONGO_ROOT_PASSWORD} - - MONGO_USER=${MONGO_USER} - - MONGO_PASS=${MONGO_PASS} - - MONGO_DB=${MONGO_DB} + env_file: + - .env base: image: linuxodyssey/quest-base diff --git a/packages/analytics/src/config.ts b/packages/analytics/src/config.ts index 850cfa8..5b97aa6 100644 --- a/packages/analytics/src/config.ts +++ b/packages/analytics/src/config.ts @@ -21,14 +21,16 @@ interface Config { } const config: Config = { - host: process.env.HOST || 'localhost', - port: process.env.PORT ? parseInt(process.env.PORT, 10) : 3001, + host: process.env.ADMIN_HOST || 'localhost', + port: process.env.ADMIN_PORT ? parseInt(process.env.ADMIN_PORT, 10) : 3001, db: process.env.MONGO_URL || 'mongodb://localhost:27017/odyssey-test', username: getOrFailed('ADMIN_USERNAME'), password: getOrFailed('ADMIN_PASSWORD'), baseUrl: - process.env.BASE_URL || - `http://${process.env.HOST || 'localhost'}:${process.env.PORT ? parseInt(process.env.PORT, 10) : 3001}`, + process.env.ADMIN_BASE_URL || + `http://${process.env.ADMIN_HOST || 'localhost'}:${ + process.env.ADMIN_PORT ? parseInt(process.env.ADMIN_PORT, 10) : 3001 + }`, } export default config