Решение проблем
Начните с журналов. Для сервера через docker run:
docker logs --tail 100 tolktak
В установке через Compose, из каталога с compose.yaml:
docker compose ps
docker compose logs --tail 100 tolktak livekit
Сервер не запускается
Проверьте сообщение в журнале: обычно это отсутствующий ключ или секрет LiveKit, секрет короче 32 символов, бакет S3 без ключей либо неизвестное значение TOLKTAK_REGISTRATION. В установке через Compose об отсутствующем секрете в .env сообщает сама команда docker compose up.
address already in use означает занятый порт. Измените его по инструкции.
livekit-server exited означает, что встроенный LiveKit остановился, а сервер остановился вместе с ним. Причина — в строках выше, чаще всего это уже занятый порт.
Приложение не подключается
- Откройте адрес сервера в браузере на том же устройстве. Если страница недоступна, проверьте DNS, файрвол и прокси.
- При ошибке сертификата проверьте срок действия и доверие системы. Самоподписанный сертификат должен быть установлен в доверенные.
- Для публичного IP без HTTPS укажите протокол и порт явно:
http://203.0.113.10:8080. Иначе приложение предполагает HTTPS.
Чат работает, голоса нет
Адрес LiveKit, который получает приложение, показывает livekit_url в https://<сервер>/api/v1/server.
| Симптом | Что проверить |
|---|---|
| Подключение к комнате сразу завершается ошибкой | livekit_url должен быть доступен с устройства участника. За HTTPS это wss://<домен>, и прокси должен направлять /rtc в LiveKit. Если за прокси там ws://...:7880, задайте TOLKTAK_TRUST_PROXY=1 и передавайте X-Forwarded-Proto. Без сертификата должен быть открыт порт 7880/TCP |
| Комната открывается, звука нет или связь обрывается примерно через 15 секунд | Порт 7882/UDP в файрволе сервера и панели хостинга. В локальной сети задайте локальный адрес сервера в NODE_IP, а в установке через Compose — LIVEKIT_USE_EXTERNAL_IP=false и LIVEKIT_NODE_IP |
| Работает не у всех | Порт 7881/TCP: он нужен для строгих сетей |
| Домен находится за CDN | Отключите проксирование для этого DNS-имени |
| На машине есть VPN или несколько интерфейсов | rtc.interfaces в конфигурации LiveKit: LiveKit может предлагать недоступные клиентам адреса. См. настройки |
| В списке остаются вышедшие участники | webhook.urls должен достигать сервера TolkTak. Список также сверяется каждые 20 секунд |
Подробности и команды — в инструкции по портам.
Микрофон не слышно
Проверьте выбранное устройство в настройках TolkTak, системное разрешение на микрофон и режим push-to-talk. На macOS и Linux push-to-talk работает при активном окне приложения. Если не слышно всех участников, сначала проверьте медиасоединение выше.
Файл не загружается
HTTP 413 означает превышение лимита в TolkTak или в прокси. client_max_body_size nginx должен быть больше TOLKTAK_MAX_UPLOAD_MB.
С хранилищем S3 ошибка сервера при загрузке обычно означает, что бакет недоступен или ключ не может в него писать; ошибка S3 видна в журнале сервера. См. хранилище S3.
Приложение постоянно переподключается
Прокси может закрывать WebSocket. Проверьте передачу Upgrade-заголовков и тайм-аут чтения больше 70 секунд. Готовая конфигурация есть в инструкции nginx.
Как сообщить об ошибке
Откройте issue, укажите систему, версию приложения и сервера, шаги воспроизведения и относящиеся к ошибке строки журнала. Версию сервера показывает /api/v1/server.
Уберите из журнала токены, пароли, секреты и личные данные. Уязвимости сообщайте приватно.