services: web: build: . image: dbx-main:latest container_name: dbx-main restart: unless-stopped ports: # NPM이 192.168.0.194:8080 으로 프록시 → 컨테이너 8000으로 전달 - "8080:8000" env_file: - .env environment: # 사용자/권한 JSON 저장소 + 첨부 업로드 — 볼륨에 영구 보관 DATA_DIR: /data volumes: - dbx-main-data:/data networks: - default - postgres_default # postgres-db 컨테이너와 통신 (DSN host=postgres-db) # 카페24 예약 실행기 — web 과 같은 이미지로 worker 모듈만 돌린다. # 예약은 브라우저를 닫아도 그 시각에 실행돼야 하므로 별도 프로세스가 필요하다. # CAFE24_DB_URL 이 없으면 즉시 종료하며 로그로 사유를 남긴다. cafe24-worker: build: . image: dbx-main:latest container_name: dbx-cafe24-worker restart: unless-stopped command: ["python", "-m", "app.modules.cafe24.worker", "--loop", "60"] env_file: - .env environment: DATA_DIR: /data volumes: - dbx-main-data:/data depends_on: - web networks: - default - postgres_default volumes: dbx-main-data: networks: # main_default — compose 자동 생성, 동일 프로젝트 내부 통신용 default: # postgres_default — postgres-db 가 속한 외부 네트워크 (별도 compose 가 만듦) postgres_default: external: true