sTalk / Документация / Установка

Установка

Сведения, необходимые для установки программы для ЭВМ «Столк» (торговое наименование — sTalk): подготовка узла, установка серверной части одной командой, проверка развёртывания и установка клиентских приложений.

Содержание
  1. Состав поставки
  2. Требования к серверу
  3. Предварительные продукты
  4. Сеть, доменные имена и порты
  5. Файл ответов client.conf
  6. Установка серверной части
  7. Проверка развёртывания
  8. Первый вход и заведение пользователей
  9. Установка клиентских приложений
  10. Обновление и удаление

1. Состав поставки

Поставка передаётся заказчику в виде двух составляющих:

Дистрибутивы клиентских приложений публикуются самой инсталляцией по адресу /desktop/ — сотрудники организации загружают их с её собственного адреса.

2. Требования к серверу

ПараметрМинимальноРекомендуется
Процессор6 ядер8 ядер
Оперативная память13 ГБ17 ГБ
Дисковое пространство100 ГБот 250 ГБ
Операционная системаLinux, включая Astra Linux, РЕД ОС и Альт. Продуктивная инсталляция правообладателя работает под управлением Ubuntu 24.04 LTS
Подкачкаотключена (swapoff -a и удаление записи из /etc/fstab) — требование среды оркестрации

Ёмкость хранилища планируется по фактическому объёму: один час записанной встречи занимает около 230 МБ. Серверная часть разворачивается на одном узле; для инсталляций с повышенными требованиями к доступности состав узлов согласовывается отдельно.

3. Предварительные продукты

До запуска установки на узле должны быть развёрнуты:

ПродуктНазначение
Kubernetes (проверено на k3s 1.36)среда оркестрации, в которой исполняются службы программы
ingress-nginxвходной контроллер: принимает соединения по протоколу HTTPS и распределяет их между службами
cert-manager и издатель сертификатоввыпуск и продление сертификатов TLS
Учётные данные реестра образовзагрузка образов контейнеров серверной части

Если k3s устанавливается специально под программу, встроенные в него контроллер входа и балансировщик отключают — иначе они занимают порты 80 и 443 и входной контроллер не запустится:

curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC=\
"server --disable=traefik --disable=servicelb --write-kubeconfig-mode=644" sh -
mkdir -p ~/.kube && cp /etc/rancher/k3s/k3s.yaml ~/.kube/config
export KUBECONFIG=~/.kube/config
kubectl get nodes        # узел в состоянии Ready

Объектное хранилище записей встреч и файлов устанавливать заранее не требуется — установка развернёт его сама. Если в организации уже используется своё хранилище, совместимое с протоколом S3, его адрес и ключи указываются в файле ответов.

4. Сеть, доменные имена и порты

Программе выделяется базовое доменное имя; остальные имена по умолчанию выводятся из него. В службе доменных имён организации создаются записи типа A, указывающие на адрес узла:

ИмяНазначение
<домен>веб-клиент и сервер обмена сообщениями
auth.<домен>служба аутентификации
keycloak.<домен>выдающий центр (при установке в составе поставки)
livekit.<домен>медиасервер аудио- и видеосвязи
console.<домен>консоль администратора
api.<домен>, admin.<домен>, jwt.<домен>, dimension.<домен>, push.<домен>служебные адреса программы

На межсетевом экране открываются порты:

5. Файл ответов client.conf

Это единственный файл, который оператор заполняет вручную. Остальная конфигурация, включая пароли служб, формируется установщиком автоматически.

cp client.conf.example client.conf
# заполнить значения
bash scripts/install.sh client.conf
ПараметрЗначение
BASE_DOMAINбазовое доменное имя инсталляции; остальные имена выводятся из него, при необходимости задаются явно
LIVEKIT_NODE_IPпубличный адрес IPv4 этого узла для медиасервера. Пусто — определяется автоматически; адрес другого сервера указывать нельзя, иначе медиасвязь не установится
INGRESS_CLASS, TLS_SECRET, CERT_EMAILвходной контроллер и параметры выпуска сертификатов
REGISTRY, REGISTRY_USER, REGISTRY_PWреестр образов и учётные данные, выданные правообладателем
SELF_HOSTED_KEYCLOAK, KEYCLOAK_DOMAINtrue — установщик развернёт выдающий центр в составе поставки; для входа через выдающий центр организации указывается его адрес
CONSOLE_ENABLED, CONSOLE_OIDC_ISSUER, CONSOLE_ADMIN_GROUPконсоль администратора и группа, членство в которой даёт в неё вход
RELEASE_BASE_URLадрес, откуда инсталляция получает обновления. Пусто — обновление выполняется вручную из переданного архива
Файл ответов содержит учётные данные — он хранится на узле с доступом только для администратора и в системы контроля версий не помещается.

6. Установка серверной части

Установка выполняется одной командой и проходит пять шагов: проверка предварительных продуктов, формирование конфигурации из файла ответов, создание секретов в среде оркестрации, развёртывание служб и завершающая настройка.

bash scripts/install.sh client.conf            # установка
bash scripts/install.sh client.conf --dry-run  # проверка без изменений

Сценарий не изменяет предварительные продукты молча: если чего-то не хватает, он останавливается и печатает, что именно нужно доустановить. Повторный запуск на уже развёрнутой инсталляции безопасен — состав служб приводится к состоянию, описанному в комплекте поставки.

Время установки на узле рекомендуемой конфигурации — от 15 до 40 минут; большая часть приходится на загрузку образов контейнеров и выпуск сертификатов.

7. Проверка развёртывания

В комплект поставки входит сценарий самопроверки: он выполняет 46 проверок — доступность адресов, состояние служб, выпуск сертификатов, связность с базой данных, объектным хранилищем и медиасервером — и печатает итог.

bash scripts/smoke-test.sh
# РЕЗУЛЬТАТ: PASS 46/46

Состав запущенных служб выводится штатными средствами среды оркестрации:

kubectl get pods --all-namespaces

Зафиксированные версии всех составных частей инсталляции приведены в файле VERSIONS.json комплекта поставки.

8. Первый вход и заведение пользователей

  1. открыть в браузере адрес инсталляции и нажать «Войти» — откроется страница выдающего центра;
  2. войти учётными данными администратора, выданными установщиком;
  3. завести сотрудников: вручную в консоли администратора либо настройкой синхронизации с каталогом организации по протоколу LDAP, в том числе Active Directory;
  4. при первом входе пользователя хранилище криптографических ключей создаётся автоматически, отдельных действий от сотрудника не требуется.

Порядок ведения пользователей, прав и политик описан в разделе «Эксплуатация».

9. Установка клиентских приложений

Дистрибутивы публикуются самой инсталляцией по адресу /desktop/. Веб-клиент установки не требует — он открывается в браузере по адресу инсталляции.

ПлатформаДистрибутивУстановка
Microsoft Windows 10 и новеефайл .exeзапустить установщик и пройти его шаги
Apple macOS 12 Monterey и новее (Apple Silicon)образ .dmgоткрыть образ и перенести приложение в папку «Программы»
Linux на основе Debian, включая Astra Linuxпакет .debустановить штатным менеджером пакетов
РЕД ОС, Альт и другие системы с пакетами rpmпакет .rpmустановить штатным менеджером пакетов
Прочие дистрибутивы Linuxархив .tar.gzраспаковать в выбранный каталог
Google Android 7.0 и новеефайл .apkустановить с адреса инсталляции
Apple iOS 18.5 и новееApp Storeустановить приложение sTalk из магазина

При первом запуске приложение запрашивает адрес инсталляции, после чего вход выполняется через выдающий центр организации. Настольные приложения для Microsoft Windows и Apple macOS обновляются автоматически со своей инсталляции; сборки для Linux обновляются установкой нового пакета.

Целостность загруженного файла проверяется по контрольной сумме sha256: sha256sum <файл> в Linux, shasum -a 256 <файл> в macOS, certutil -hashfile <файл> SHA256 в Windows.

10. Обновление и удаление

Обновление

Новая версия передаётся тем же архивом комплекта поставки. Если указан адрес получения обновлений, инсталляция забирает их сама:

bash scripts/update.sh            # проверить, есть ли новая версия
bash scripts/update.sh --apply    # загрузить, сверить контрольную сумму и развернуть

Обновляются только изменившиеся составные части; переписка, файлы и учётные записи сохраняются. После обновления запускается самопроверка (раздел 7).

Удаление

Программа удаляется вместе с её пространствами имён в среде оркестрации; данные остаются в томах хранения и удаляются отдельно, по решению заказчика. Порядок вывода инсталляции из эксплуатации, включая выгрузку данных, согласовывается со службой технической поддержки правообладателя.

Помощь при установке

Техническая поддержка: support@implica.ru · +7 (495) 943-62-19 (Пн–Пт, 09:00–18:00 МСК).

Полная эксплуатационная документация входит в комплект поставки каталогом docs/. Работы по внедрению и миграции данных выполняются правообладателем по отдельному соглашению.