К содержимому
TolkTak
RU EN
Скачать
На этой странице

Установка через 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.

Дальше

Исходник страницы