Установка через Docker
В образе d4enst/tolktak есть сервер TolkTak и LiveKit для голоса, видео и трансляций. Одна команда запускает рабочий сервер. Инструкция рассчитана на Linux-сервер с Docker Engine; оборудование и порты описаны в требованиях.
Для постоянного сервера на своём домене с HTTPS, PostgreSQL и хранилищем S3 есть установка через Docker Compose.
1. Пробный запуск
docker run --network host d4enst/tolktak
Сервер готов, когда в журнале появляется tolktak-server listening. Откройте в браузере http://<адрес сервера>:8080, например http://203.0.113.10:8080, и зарегистрируйтесь. Первый аккаунт становится администратором.
В приложении адрес вводится целиком, с http:// и портом. Без схемы приложение подставляет https://.
Что настраивает эта команда:
--network hostзапускает контейнер в сети самого сервера. LiveKit видит настоящий адрес машины, поэтому звонки работают без дополнительных настроек. Полностью host-сеть поддерживается только в Linux.- База — SQLite. База, загруженные файлы и ключи LiveKit, созданные при первом запуске, хранятся в
/dataвнутри контейнера. - Сервер работает по обычному HTTP: пароли, сообщения и файлы передаются без шифрования, и журнал предупреждает об этом. Для пробы и локальной сети этого достаточно. Для интернета нужен HTTPS, как описано ниже или в установке через Docker Compose.
Команда работает на переднем плане; Ctrl+C останавливает сервер.
2. Постоянная работа
docker run -d --name tolktak --restart unless-stopped --network host \
-v tolktak-data:/data d4enst/tolktak
| Параметр | Назначение |
|---|---|
-d |
Запуск в фоне. |
--name tolktak |
Постоянное имя для docker logs tolktak, docker stop tolktak и команд обновления. |
--restart unless-stopped |
Сервер снова запускается после перезагрузки машины или сбоя. |
-v tolktak-data:/data |
Данные хранятся в томе tolktak-data. Без него Docker создаёт анонимный том, который новый контейнер не подхватит. |
Журнал: docker logs -f tolktak.
3. Порты
| Порт | Протокол | Назначение |
|---|---|---|
| 8080 | TCP | TolkTak: сайт, API и чат |
| 7880 | TCP | LiveKit: вход в звонок |
| 7881 | TCP | Звонки, если сеть участника блокирует UDP |
| 7882 | UDP | Голос, видео и демонстрация экрана |
Для ufw:
sudo ufw allow 8080/tcp
sudo ufw allow 7880:7881/tcp
sudo ufw allow 7882/udp
Те же порты откройте в панели хостинга, если там есть свой файрвол. Работающий чат не доказывает, что работают звонки: проверьте звонок с участником из другой сети. Подробнее — в инструкции по портам.
4. Настройки
Сервер настраивается параметрами -e. Например, название, открытая регистрация и другой порт, если 8080 занят:
docker run -d --name tolktak --restart unless-stopped --network host -v tolktak-data:/data \
-e TOLKTAK_SERVER_NAME="Наш сервер" -e TOLKTAK_REGISTRATION=open -e TOLKTAK_LISTEN=:18480 \
d4enst/tolktak
Чтобы изменить настройку, удалите контейнер и запустите его заново с новыми параметрами. Данные остаются в томе:
docker rm -f tolktak
Все параметры описаны в справочнике конфигурации. Для этого образа важны:
- Сервер в домашней или офисной сети. LiveKit определяет публичный адрес сервера через STUN. Если участники подключаются по локальному адресу, передайте его:
-e NODE_IP=192.168.1.20. - HTTPS. Поставьте перед сервером обратный прокси и добавьте
-e TOLKTAK_TRUST_PROXY=1 -e TOLKTAK_LISTEN=127.0.0.1:8080. Прокси направляет домен на порт 8080, а путь/rtc— на порт 7880. Порты 8080 и 7880 закройте в файрволе, 7881 и 7882 оставьте открытыми. - Порты LiveKit 7880, 7881 и 7882 в этом образе фиксированы. Если они заняты, используйте Docker Compose: там LiveKit работает в отдельном контейнере.
5. Обновление
Сначала прочитайте описание релиза и сделайте резервную копию: новая версия при запуске обновляет базу, и старая открыть её уже не сможет.
docker pull d4enst/tolktak
docker rm -f tolktak
docker run -d --name tolktak --restart unless-stopped --network host -v tolktak-data:/data d4enst/tolktak
Добавьте те же параметры -e, что и раньше. d4enst/tolktak без тега означает latest, последний стабильный релиз. Тег вроде d4enst/tolktak:0.2.0 или d4enst/tolktak:0.2 закрепляет версию: сервер обновится, только когда вы смените тег.
Те же образы публикуются как ghcr.io/d4enst/tolktak.
Дальше
- Администрирование: приглашения и доступы.
- Установка через Docker Compose: свой домен с HTTPS, PostgreSQL и S3. Данные этого сервера можно перенести туда.
- Решение проблем.