Файрвол и порты
Откройте входящие порты в файрволе ОС и в панели хостинга. Если сервер за роутером, также настройте проброс.
Какие порты нужны
| Порт | Протокол | Назначение |
|---|---|---|
| 80 и 443 | TCP | HTTPS: Caddy в установке через Compose или свой обратный прокси. Порт 80 нужен для выпуска сертификата. |
| 443 | UDP | HTTP/3 в установке через Compose. Необязателен. |
| 8080 и 7880 | TCP | Прямой доступ к TolkTak и LiveKit без HTTPS: сервер через docker run или вариант установщика с обычным HTTP |
| 7881 | TCP | Звонки по TCP для участников с заблокированным UDP |
| 7882 | UDP | Звонки. Основной путь для голоса, видео и демонстрации экрана. |
Пример для ufw и установки через Compose:
sudo ufw allow 80/tcp
sudo ufw allow 443
sudo ufw allow 7881/tcp
sudo ufw allow 7882/udp
Для docker run без HTTPS:
sudo ufw allow 8080/tcp
sudo ufw allow 7880:7881/tcp
sudo ufw allow 7882/udp
Доступ по SSH должен оставаться разрешён. Не включайте файрвол на удалённой машине, пока не проверили правило для своего SSH-порта.
Docker публикует порты контейнеров своими правилами, в обход ufw. Поэтому в установке через Compose порты 80, 443, 7881 и 7882 доступны, даже если ufw их не разрешает; файрвол хостинга при этом продолжает действовать.
Изменение портов
- HTTP-порт TolkTak при
docker run:-e TOLKTAK_LISTEN=:18480. В установке через Compose TolkTak слушает только127.0.0.1, порт меняется черезTOLKTAK_PORTв.env; это важно при своём обратном прокси. - Порты LiveKit в образе для
docker runфиксированы. В установке через Compose они меняются в.env:LIVEKIT_PORT— локальный порт сигналинга,LIVEKIT_TCP_PORTиLIVEKIT_UDP_PORT— порты звонков.
Все звонки используют один UDP-порт; от числа участников набор портов не зависит.
Сервер за NAT
Пробросьте каждый используемый порт на внутренний адрес машины. LiveKit определяет публичный адрес через STUN. Если участники подключаются по локальной сети, сообщите LiveKit локальный адрес: -e NODE_IP=192.168.1.20 при docker run, а в установке через Compose — LIVEKIT_USE_EXTERNAL_IP=false и LIVEKIT_NODE_IP=192.168.1.20 в .env. Если чат работает, а голос нет, используйте диагностику подключения.