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

Установка из исходников

Этот вариант запускает TolkTak через systemd без Docker. Для обычной установки проще Docker.

1. Установите сервер

Нужны Python 3.14 и uv. Установите uv по его официальной инструкции, затем:

sudo git clone --branch v0.2.0 https://github.com/D4eNst/tolktak.git /opt/tolktak
cd /opt/tolktak/server
sudo UV_PYTHON_INSTALL_DIR=/opt/tolktak/python "$(command -v uv)" sync --no-dev

v0.2.0 — тег релиза; возьмите самый новый из списка релизов. uv создаст server/.venv. Если Python скачивается автоматически, UV_PYTHON_INSTALL_DIR оставит его в каталоге, доступном служебному пользователю. SQLite используется по умолчанию; PostgreSQL подключается отдельно.

Установка из исходников сообщает версию 0.1.0-dev. Чтобы показывать настоящую, перед запуском запишите её в tolktak/_version.py:

echo "__version__ = \"$(git describe --tags --always | sed 's/^v//')\"" | sudo tee tolktak/_version.py

2. Установите LiveKit

Скачайте LiveKit Server 1.13 для своей архитектуры из официальных релизов и установите исполняемый файл livekit-server в /usr/local/bin/. Сервер запускает его сам и сам создаёт ключи, как в образе для docker run.

3. Создайте конфигурацию

sudo useradd --system --home /var/lib/tolktak --create-home tolktak
sudo mkdir -p /etc/tolktak
sudo install -m 640 -g tolktak /dev/null /etc/tolktak/.env

Файл /etc/tolktak/.env:

TOLKTAK_EMBEDDED_LIVEKIT=1
TOLKTAK_DATA_DIR=/var/lib/tolktak
# 127.0.0.1:8080 за обратным прокси с HTTPS; 0.0.0.0:8080 для прямого доступа по HTTP.
TOLKTAK_LISTEN=127.0.0.1:8080
# 1 за обратным прокси: лимиты запросов берут адрес из X-Forwarded-For, а LiveKit доступен через /rtc.
TOLKTAK_TRUST_PROXY=1

Остальные параметры описаны в справочнике конфигурации. LiveKit слушает порты 7880, 7881 и 7882; см. инструкцию по портам.

4. Создайте службу

Файл /etc/systemd/system/tolktak.service:

[Unit]
Description=TolkTak server
After=network-online.target
Wants=network-online.target

[Service]
User=tolktak
WorkingDirectory=/opt/tolktak/server
EnvironmentFile=/etc/tolktak/.env
ExecStart=/opt/tolktak/server/.venv/bin/tolktak-server
Restart=on-failure
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now tolktak
journalctl -u tolktak -f

В журнале видны и сервер, и LiveKit. Если LiveKit останавливается, сервер останавливается вместе с ним, и systemd перезапускает оба.

С HTTPS настройте обратный прокси. Откройте порты, зарегистрируйте первый аккаунт и создайте приглашения, как при установке через Docker.

5. Обновление

Сначала сохраните данные. Затем:

cd /opt/tolktak/server
sudo git checkout tolktak/_version.py      # если записывали в него версию
sudo git fetch --tags
sudo git checkout v0.2.1                   # тег нового релиза
sudo UV_PYTHON_INSTALL_DIR=/opt/tolktak/python "$(command -v uv)" sync --no-dev
sudo systemctl restart tolktak

Если вы записываете версию в tolktak/_version.py, сделайте это снова перед перезапуском. Миграции базы выполняются при старте.

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