From 18ffef8ac81e6746ffff9e2791a4e3b43f6e2ea5 Mon Sep 17 00:00:00 2001 From: TtiPo Date: Thu, 6 Aug 2026 19:44:40 +0900 Subject: [PATCH] =?UTF-8?q?chore:=20=EC=BB=A8=ED=85=8C=EC=9D=B4=EB=84=88?= =?UTF-8?q?=20=EB=A1=9C=EA=B7=B8=20=EB=A1=9C=ED=85=8C=EC=9D=B4=EC=85=98=20?= =?UTF-8?q?=EC=84=A4=EC=A0=95=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit json-file 드라이버 기본값(무제한)으로 로그가 호스트 디스크를 채워 PostgreSQL 이 could not write init file 로 실패하는 문제를 방지한다. 전 서비스에 서비스당 30MB(10MB x 3) 상한을 적용. Co-Authored-By: Claude Opus 5 (1M context) --- docker-compose.yml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index b08e576..1cf0e8c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,3 +1,13 @@ +# 컨테이너 로그 로테이션 공통 설정. +# 기본값(json-file, 무제한)으로 두면 로그가 호스트 디스크를 계속 먹다가 +# 결국 100% 를 채워 PostgreSQL 이 "could not write init file" 로 죽는다. +# 서비스당 최대 30MB(10MB x 3) 로 상한을 건다. +x-logging: &default-logging + driver: json-file + options: + max-size: '10m' + max-file: '3' + services: # ---------------------------------------- # 1. Frontend (Nginx 정적 호스팅) @@ -19,6 +29,7 @@ services: - "80" environment: - NODE_ENV=${APP_ENV} + logging: *default-logging restart: unless-stopped networks: - app-network @@ -83,6 +94,7 @@ services: # 업무 첨부는 로컬 디스크에 저장된다. 볼륨이 없으면 재배포로 컨테이너가 # 교체될 때 파일이 모두 사라지고, DB 의 첨부 레코드만 남아 다운로드가 실패한다. - ${UPLOAD_DATA_DIR}:/app/uploads + logging: *default-logging restart: unless-stopped networks: - app-network @@ -120,6 +132,7 @@ services: POSTGRES_DB: ${DB_NAME} volumes: - ${DB_DATA_DIR}:/var/lib/postgresql/data + logging: *default-logging restart: always networks: - app-network @@ -148,6 +161,7 @@ services: - "6379" volumes: - ${REDIS_DATA_DIR}:/data + logging: *default-logging restart: always networks: - app-network @@ -191,6 +205,7 @@ services: volumes: # 클러스터링 시에는 redis 비밀번호가 담긴 사본을 마운트(DEPLOY.md 참고) - ./livekit/livekit.prod.yaml:/etc/livekit/livekit.yaml:ro + logging: *default-logging restart: unless-stopped networks: - app-network