Compare commits
4 Commits
f968202dd0
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
| fdf6544bf1 | |||
| 18ffef8ac8 | |||
| 6db7b1d67e | |||
| da65799e2a |
@@ -38,6 +38,13 @@ REDIS_IMAGE=redis:7-alpine
|
||||
REDIS_PASSWORD=change-me-redis-password
|
||||
REDIS_DATA_DIR=./data/redis
|
||||
|
||||
# ==========================================
|
||||
# 업로드(업무 첨부)
|
||||
# ==========================================
|
||||
# UPLOAD_DATA_DIR: 업무 첨부 파일 보관 경로(호스트). 컨테이너의 /app/uploads 에 마운트된다.
|
||||
# 볼륨이 없으면 재배포 시 첨부 파일이 유실된다.
|
||||
UPLOAD_DATA_DIR=./data/uploads
|
||||
|
||||
# ==========================================
|
||||
# API 경로
|
||||
# ==========================================
|
||||
|
||||
@@ -38,6 +38,13 @@ REDIS_IMAGE=redis:7-alpine
|
||||
REDIS_PASSWORD=change-me-redis-password
|
||||
REDIS_DATA_DIR=./data/redis
|
||||
|
||||
# ==========================================
|
||||
# 업로드(업무 첨부)
|
||||
# ==========================================
|
||||
# UPLOAD_DATA_DIR: 업무 첨부 파일 보관 경로(호스트). 컨테이너의 /app/uploads 에 마운트된다.
|
||||
# 볼륨이 없으면 재배포 시 첨부 파일이 유실된다.
|
||||
UPLOAD_DATA_DIR=./data/uploads
|
||||
|
||||
# ==========================================
|
||||
# API 경로
|
||||
# ==========================================
|
||||
|
||||
@@ -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
|
||||
@@ -77,6 +88,13 @@ services:
|
||||
# 웹 푸시(VAPID) — 비밀 아닌 값만 루트에서 주입(PRIVATE_KEY 는 backend env_file)
|
||||
- VAPID_PUBLIC_KEY=${VAPID_PUBLIC_KEY}
|
||||
- VAPID_SUBJECT=${VAPID_SUBJECT}
|
||||
# 업무 첨부 저장 경로(컨테이너 내부) — 아래 볼륨과 짝을 이룬다
|
||||
- UPLOAD_DIR=/app/uploads
|
||||
volumes:
|
||||
# 업무 첨부는 로컬 디스크에 저장된다. 볼륨이 없으면 재배포로 컨테이너가
|
||||
# 교체될 때 파일이 모두 사라지고, DB 의 첨부 레코드만 남아 다운로드가 실패한다.
|
||||
- ${UPLOAD_DATA_DIR}:/app/uploads
|
||||
logging: *default-logging
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- app-network
|
||||
@@ -114,6 +132,7 @@ services:
|
||||
POSTGRES_DB: ${DB_NAME}
|
||||
volumes:
|
||||
- ${DB_DATA_DIR}:/var/lib/postgresql/data
|
||||
logging: *default-logging
|
||||
restart: always
|
||||
networks:
|
||||
- app-network
|
||||
@@ -142,6 +161,7 @@ services:
|
||||
- "6379"
|
||||
volumes:
|
||||
- ${REDIS_DATA_DIR}:/data
|
||||
logging: *default-logging
|
||||
restart: always
|
||||
networks:
|
||||
- app-network
|
||||
@@ -185,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
|
||||
|
||||
Reference in New Issue
Block a user