From 6d495f4521867e113f7a7b28520d04772e220e8a Mon Sep 17 00:00:00 2001 From: grendervill Date: Sun, 20 Sep 2026 18:32:18 +0300 Subject: [PATCH] =?UTF-8?q?feat(voice):=20LiveKit=20=D1=88=D0=BB=D1=91?= =?UTF-8?q?=D1=82=20=D0=B2=D0=B5=D0=B1=D1=85=D1=83=D0=BA=D0=B8=20=D0=BF?= =?UTF-8?q?=D1=80=D0=B8=D0=BB=D0=BE=D0=B6=D0=B5=D0=BD=D0=B8=D1=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit В конфиг LiveKit добавлен блок `webhook`: адрес `http://app:8080/api/v1/livekit/webhook` внутри compose-сети и ключ подписи. Установщик передаёт ключ в рендер livekit.yaml. Так голосовые состояния синхронизируются с SFU без опроса (AGENT.md 7.14). --- deploy/install.sh | 1 + deploy/livekit/livekit.yaml.tpl | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/deploy/install.sh b/deploy/install.sh index 17da8ca..8e5e091 100755 --- a/deploy/install.sh +++ b/deploy/install.sh @@ -1108,6 +1108,7 @@ render_all_templates() { "TURN_EXTERNAL_TLS=${turn_external_tls}" \ "LIVEKIT_MAX_PARTICIPANTS=${PROFILE_LIVEKIT_MAX_PARTICIPANTS}" \ "LIVEKIT_EXTRA_CODECS=${livekit_extra_codecs}" \ + "LIVEKIT_API_KEY=${LIVEKIT_API_KEY}" \ "LIVEKIT_DISABLE_SIMULCAST=${disable_simulcast}" if [ "$ENABLE_FAIL2BAN" = "true" ]; then diff --git a/deploy/livekit/livekit.yaml.tpl b/deploy/livekit/livekit.yaml.tpl index 7779712..6c0e7ac 100644 --- a/deploy/livekit/livekit.yaml.tpl +++ b/deploy/livekit/livekit.yaml.tpl @@ -34,6 +34,14 @@ audio: # Уровень активности говорящего, 0–127 (меньше — чувствительнее). active_level: 35 +# Вебхуки: SFU сообщает приложению о входе/выходе участников и дорожках, +# чтобы голосовые состояния не расходились после сбоев (AGENT.md 7.14). +webhook: + # Приложение доступно по имени сервиса внутри compose-сети. + urls: + - http://app:8080/api/v1/livekit/webhook + api_key: ${LIVEKIT_API_KEY} + logging: level: info json: true