61 lines
3.3 KiB
YAML
61 lines
3.3 KiB
YAML
# Dev config for LiveKit SFU. Verified against the official documentation
|
||
# (github.com/livekit/livekit config-sample.yaml + configuration.md).
|
||
# Real API key/secret must come from .env (LIVEKIT_API_KEY / LIVEKIT_API_SECRET);
|
||
# this file intentionally omits `keys:` so it can be supplied via the
|
||
# LIVEKIT_KEYS env var (format "key:secret") set in docker-compose.yml.
|
||
|
||
port: 7880
|
||
|
||
rtc:
|
||
tcp_port: 7881
|
||
# Диапазон сужен для dev (см. комментарий в docker-compose.yml); в проде
|
||
# расширить и синхронизировать с пробросом портов.
|
||
port_range_start: 54000
|
||
port_range_end: 54100
|
||
# use_external_ip: false + node_ip — dev-режим по докам LiveKit
|
||
# (rtc.node_ip / use_external_ip в config-sample.yaml): use_external_ip
|
||
# определяет публичный IP через STUN, что в контейнере Docker Desktop на
|
||
# macOS даёт недостижимый изнутри хоста внутренний IP (172.18.x.x) — из-за
|
||
# этого DTLS-хендшейк по reliable/lossy data-каналам не проходит (см.
|
||
# "dtls timeout" в логах). node_ip: 127.0.0.1 работает, потому что порты
|
||
# 7881/tcp и 54000-54100/udp проброшены Docker Desktop на loopback хоста,
|
||
# а браузер-клиент запускается на том же хосте. В проде (клиенты снаружи
|
||
# хоста) node_ip заменить на реальный внешний IP/домен либо вернуть
|
||
# use_external_ip: true, если сервер не за NAT с пробросом портов 1:1.
|
||
use_external_ip: false
|
||
node_ip: 127.0.0.1
|
||
|
||
# Redis обязателен для сервиса egress (см. deploy/egress/) — он использует
|
||
# его как pub/sub и key-value хранилище состояния запущенных записей;
|
||
# без него egress не может получать room/track-события от LiveKit
|
||
# (проверено по официальной документации livekit/egress, раздел "Running
|
||
# locally"). LiveKit сам по себе тоже использует redis для координации
|
||
# между узлами кластера (здесь один узел, но сервис оставлен включённым).
|
||
redis:
|
||
address: redis:6379
|
||
|
||
# TURN is handled by the standalone coturn service (deploy/coturn) in the
|
||
# `media` profile. When exposing LiveKit publicly, put coturn/TURN-TLS on 443
|
||
# and keep this section disabled to avoid double TURN servers.
|
||
turn:
|
||
enabled: false
|
||
|
||
# Webhook-приёмник backend'а: события room_started/participant_joined/
|
||
# participant_left/room_finished подписываются ключом api_key, который
|
||
# должен совпадать с одним из ключей в LIVEKIT_KEYS (см. выше).
|
||
webhook:
|
||
api_key: devkey
|
||
urls:
|
||
- http://backend:8000/api/v1/livekit/webhook
|
||
# Если backend запускается на хосте (uvicorn вне docker-compose, а
|
||
# LiveKit — внутри), используйте вместо этого:
|
||
# - http://host.docker.internal:8000/api/v1/livekit/webhook
|
||
|
||
logging:
|
||
level: info
|
||
json: false
|
||
|
||
# Prometheus metrics (scraped by the monitoring profile).
|
||
prometheus:
|
||
port: 6789
|