From 126c0169aaf07a205e65086d460b8249f3d28ef1 Mon Sep 17 00:00:00 2001 From: TtiPo Date: Sun, 19 Jul 2026 17:56:44 +0900 Subject: [PATCH] =?UTF-8?q?DB=20=EB=B3=BC=EB=A5=A8=EC=9D=84=20/data/postgr?= =?UTF-8?q?es=20=EB=B0=94=EC=9D=B8=EB=93=9C=20=EB=A7=88=EC=9A=B4=ED=8A=B8?= =?UTF-8?q?=EB=A1=9C=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - named volume 대신 호스트 경로 바인드 마운트 사용 (DB_DATA_DIR, 기본 /data/postgres) - backend: DB 연결/동기화 실패 시 프로세스 종료 - restart: always가 DB 준비까지 재시도하도록 fail-fast 적용 Co-Authored-By: Claude Fable 5 --- .env.example | 2 ++ backend/server.js | 5 ++++- docker-compose.yml | 7 ++----- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/.env.example b/.env.example index 3a82bc85..db01dd41 100644 --- a/.env.example +++ b/.env.example @@ -10,6 +10,8 @@ DB_HOST=postgres DB_USER= DB_PASSWORD= DB_NAME=report_db +# DB 데이터 저장 경로 (호스트 바인드 마운트, 기본값 /data/postgres) +DB_DATA_DIR=/data/postgres # Admin Account ADMIN_USER= diff --git a/backend/server.js b/backend/server.js index 0df21c1b..72bd471d 100644 --- a/backend/server.js +++ b/backend/server.js @@ -248,7 +248,10 @@ sequelize ); } }) - .catch((err) => console.log("PostgreSQL Connection/Sync Error:", err)); + .catch((err) => { + console.error("PostgreSQL Connection/Sync Error:", err); + process.exit(1); + }); // Auth Middleware const authenticateToken = (req, res, next) => { diff --git a/docker-compose.yml b/docker-compose.yml index 4acda645..43243e0a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -10,7 +10,7 @@ services: expose: - "5432" volumes: - - postgres-data:/var/lib/postgresql/data + - ${DB_DATA_DIR:-/data/postgres}:/var/lib/postgresql/data networks: - app-network healthcheck: @@ -63,7 +63,4 @@ networks: driver: bridge # npm(Nginx Proxy Manager)이 컨테이너 이름으로 라우팅하는 공용 네트워크 proxy: - external: true - -volumes: - postgres-data: \ No newline at end of file + external: true \ No newline at end of file