2 커밋 501dede489 ... b0fc3d8fef

작성자 SHA1 메시지 날짜
  Code_Uwe b0fc3d8fef RHL-005-feat(docker): add healthcheck for MongoDB service and update app dependency condition 2 일 전
  Code_Uwe 7bbd26e23d RHL-005-feat(env): add environment variable validation script 2 일 전
2개의 변경된 파일28개의 추가작업 그리고 1개의 파일을 삭제
  1. 17 1
      docker-compose.yml
  2. 11 0
      scripts/validate-env.mjs

+ 17 - 1
docker-compose.yml

@@ -10,6 +10,20 @@ services:
       - db_data:/data/db
     ports:
       - "27017:27017"
+    healthcheck:
+      test:
+        [
+          "CMD",
+          "mongosh",
+          "--quiet",
+          "mongodb://root:supersecret@localhost:27017/admin?authSource=admin",
+          "--eval",
+          "db.adminCommand('ping').ok",
+        ]
+      interval: 10s
+      timeout: 5s
+      retries: 10
+      start_period: 20s
 
   app:
     build: .
@@ -18,11 +32,13 @@ services:
     env_file:
       - .env.docker
     depends_on:
-      - db
+      db:
+        condition: service_healthy
     ports:
       - "3000:3000"
     volumes:
       - /mnt/niederlassungen:/mnt/niederlassungen:ro
+    command: sh -c "node scripts/validate-env.mjs && npm run start"
 
 volumes:
   db_data:

+ 11 - 0
scripts/validate-env.mjs

@@ -0,0 +1,11 @@
+// scripts/validate-env.mjs
+import { validateEnv } from "../lib/config/validateEnv.js";
+
+try {
+	validateEnv(process.env);
+	// Keep output minimal, but explicit:
+	console.log("✅ Environment variables: OK");
+} catch (err) {
+	console.error(String(err?.message || err));
+	process.exit(1);
+}