Files
vidconf/deploy/livekit/livekit.yaml

61 lines
3.3 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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