034afe2cf8
- docker-compose.yml: livekit 의 selfhost-livekit 프로파일 제거 → 운영(base)에서 db·redis 처럼 항상 함께 기동. Portainer 등 GUI 배포에서 COMPOSE_PROFILES 없이도 컨테이너가 생성된다. - docker-compose.dev.yml: livekit 에 selfhost-livekit 프로파일 추가 → 개발에서는 가두어 미생성(개발은 LiveKit Cloud 사용 유지). 검증: prod(base) 서비스에 livekit 포함, dev(base+dev) 에는 제외 확인. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
64 lines
2.2 KiB
YAML
64 lines
2.2 KiB
YAML
services:
|
|
frontend:
|
|
# dev에서는 Docker Desktop 시작 시 자동 실행 방지 (수동 up 때만 실행)
|
|
restart: "no"
|
|
build:
|
|
target: build-stage
|
|
command: npm run dev -- --host 0.0.0.0 --port 80
|
|
ports:
|
|
- "${FRONTEND_PORT}:80"
|
|
environment:
|
|
- CHOKIDAR_USEPOLLING=true
|
|
- WATCHPACK_POLLING=true
|
|
# 화상회의 — 브라우저가 접속할 LiveKit URL(개발은 LiveKit Cloud 사용).
|
|
# 런타임 env 로 주입해 이미지 재빌드 없이 .env 변경 + 컨테이너 재생성만으로 반영된다.
|
|
- VITE_LIVEKIT_URL=${LIVEKIT_WS_URL}
|
|
volumes:
|
|
- ./${FRONTEND_DIR}:/app
|
|
- /app/node_modules
|
|
# dev에서는 리버스 프록시 미사용 — base의 networks 목록을 덮어씀
|
|
networks: !override
|
|
- app-network
|
|
|
|
backend:
|
|
# dev에서는 Docker Desktop 시작 시 자동 실행 방지 (수동 up 때만 실행)
|
|
restart: "no"
|
|
build:
|
|
target: builder
|
|
command: npm run start:dev
|
|
ports:
|
|
- "${BACKEND_PORT}:${BACKEND_PORT}"
|
|
- "${WEBSOCKET_PORT}:${WEBSOCKET_PORT}"
|
|
environment:
|
|
- CHOKIDAR_USEPOLLING=true
|
|
- WATCHPACK_POLLING=true
|
|
volumes:
|
|
- ./${BACKEND_DIR}:/app
|
|
- /app/node_modules
|
|
# dev에서는 리버스 프록시 미사용 — base의 networks 목록을 덮어씀
|
|
networks: !override
|
|
- app-network
|
|
|
|
# 화상회의는 개발에서 LiveKit Cloud 를 사용한다(로컬 SFU 컨테이너 없음).
|
|
# WSL2/Docker Desktop 의 WebRTC 네트워킹 제약을 우회하기 위함.
|
|
# base 의 livekit 은 운영 기본 서비스라, dev 에서는 selfhost-livekit 프로파일로 가두어
|
|
# 기동되지 않게 한다(이 프로파일은 dev 에서 켜지 않으므로 컨테이너 미생성).
|
|
livekit:
|
|
profiles:
|
|
- selfhost-livekit
|
|
|
|
db:
|
|
# dev에서는 Docker Desktop 시작 시 자동 실행 방지 (base 의 always 를 덮어씀)
|
|
restart: "no"
|
|
ports:
|
|
- "${DB_PORT}:5432"
|
|
|
|
redis:
|
|
# dev에서는 Docker Desktop 시작 시 자동 실행 방지 (base 의 always 를 덮어씀)
|
|
restart: "no"
|
|
ports:
|
|
- "${REDIS_PORT}:6379"
|
|
|
|
# base의 proxy 외부 네트워크 의존을 dev에서 제거
|
|
networks:
|
|
proxy: !reset null |