services: # 서비스 이름은 Docker 네트워크 alias로 등록되므로 production(chocoadmin)과 겹치면 안 된다. # 겹치면 Docker DNS가 라운드로빈으로 두 컨테이너에 트래픽을 분산시킨다. stage-chocoadmin: build: context: . dockerfile: Dockerfile image: chocoadmin-stage:latest container_name: stage-chocoadmin expose: - "3000" env_file: - .env.stage environment: NODE_ENV: production APP_ENV: stage PORT: 3000 HOSTNAME: 0.0.0.0 TZ: Asia/Seoul networks: - proxy-network restart: unless-stopped # Synology 기본 db 로그 드라이버는 대량 로그 버스트 시 메시지를 드롭한다. # json-file(blocking 모드)은 무손실 — 표/SQL 로그 잘림 방지. logging: driver: json-file options: max-size: "10m" max-file: "3" networks: proxy-network: external: true