Compare commits

..

3 Commits

Author SHA1 Message Date
ttipo 79194428fc chore: 실수로 커밋된 스크린샷(image.png) 제거
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 13:41:00 +09:00
ttipo 954f4a6932 Merge feature/livekit-always-on: LiveKit 운영 기본 서비스 전환 2026-06-25 13:40:48 +09:00
ttipo 034afe2cf8 refactor: LiveKit 을 운영 기본 서비스로 전환(프로파일 게이트 제거)
- 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>
2026-06-25 13:40:48 +09:00
2 changed files with 10 additions and 7 deletions
+6 -2
View File
@@ -40,8 +40,12 @@ services:
- app-network
# 화상회의는 개발에서 LiveKit Cloud 를 사용한다(로컬 SFU 컨테이너 없음).
# WSL2/Docker Desktop 의 WebRTC 네트워킹 제약을 우회하고, 운영 전환도 env 만 바꾸면 된다.
# 셀프호스팅(문서 단계 6)으로 갈 때 livekit/livekit.yaml 을 참고해 서비스를 다시 추가한다.
# WSL2/Docker Desktop 의 WebRTC 네트워킹 제약을 우회하기 위함.
# base 의 livekit 은 운영 기본 서비스라, dev 에서는 selfhost-livekit 프로파일로 가두어
# 기동되지 않게 한다(이 프로파일은 dev 에서 켜지 않으므로 컨테이너 미생성).
livekit:
profiles:
- selfhost-livekit
db:
# dev에서는 Docker Desktop 시작 시 자동 실행 방지 (base 의 always 를 덮어씀)
+4 -5
View File
@@ -151,16 +151,15 @@ services:
- "com.centurylinklabs.watchtower.enable=true"
# ----------------------------------------
# 5. LiveKit (화상회의 SFU) — 셀프호스팅 (opt-in 프로파일)
# 실행: docker compose --profile selfhost-livekit --env-file .env.production up -d --build
# 미사용시(예: LiveKit Cloud) 프로파일을 켜지 않으면 생성되지 않는다.
# 5. LiveKit (화상회의 SFU) — 셀프호스팅 (운영 기본 서비스)
# 운영(base)에서는 db·redis 처럼 항상 함께 기동된다.
# 개발(dev)에서는 docker-compose.dev.yml 이 selfhost-livekit 프로파일로 가두어
# 생성되지 않는다(개발은 LiveKit Cloud 사용).
# 배포·클러스터링 가이드: livekit/DEPLOY.md
# ----------------------------------------
livekit:
image: livekit/livekit-server:v1.8.4
container_name: ${PROJECT_NAME}-livekit
profiles:
- selfhost-livekit
command: --config /etc/livekit/livekit.yaml
environment:
# 키/시크릿은 "key: secret" 형식으로 주입(콜론+공백 때문에 전체를 따옴표로 감쌈)