Установка
Сведения, необходимые для установки программы для ЭВМ «Столк» (торговое наименование — sTalk): подготовка узла, установка серверной части одной командой, проверка развёртывания и установка клиентских приложений.
1. Состав поставки
Поставка передаётся заказчику в виде двух составляющих:
- комплект поставки — архив
stalk-<версия>-clean.tar.gzсо сценариями установки, манифестами развёртывания, конфигурацией и документацией (каталогdocs/); к архиву прилагается контрольная сумма sha256; - образы контейнеров — серверные службы в формате OCI; загружаются с реестра образов правообладателя по выданным заказчику учётным данным либо передаются файлами для установки в сетевом контуре без выхода в информационно-телекоммуникационную сеть «Интернет».
Дистрибутивы клиентских приложений публикуются самой инсталляцией по адресу
/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.<домен> | служебные адреса программы |
На межсетевом экране открываются порты:
80/tcpи443/tcp— входной контроллер;3478/udp— служба обхода сетевых ограничений для медиасвязи;50000–60000/udp— медиапотоки звонков и встреч.
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_DOMAIN | true — установщик развернёт выдающий центр в составе поставки; для входа через выдающий центр организации указывается его адрес |
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. Первый вход и заведение пользователей
- открыть в браузере адрес инсталляции и нажать «Войти» — откроется страница выдающего центра;
- войти учётными данными администратора, выданными установщиком;
- завести сотрудников: вручную в консоли администратора либо настройкой синхронизации с каталогом организации по протоколу LDAP, в том числе Active Directory;
- при первом входе пользователя хранилище криптографических ключей создаётся автоматически, отдельных действий от сотрудника не требуется.
Порядок ведения пользователей, прав и политик описан в разделе «Эксплуатация».
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/. Работы по внедрению и миграции данных выполняются
правообладателем по отдельному соглашению.