Руководство по инсталляции
1. Общая информация
Настоящее руководство описывает процесс инсталляции решения Voxyc AI и предназначено для системных администраторов.
2. Архитектура решения Voxyc AI
Voxyc AI – это программное решение, предназначенное для автоматизации коммуникаций и сопутствующих коммуникациям процессов, настройки интеллектуальных ботов в голосовом и текстовом канале.
Voxyc AI состоит из нескольких модулей, реализованных в виде сервисов Linux с использованием PostgreSQL — объектно-реляционной СУБД, а также Keycloak – продукта с открытым кодом для реализации идентификации с возможностью управления доступом.
Сервисы, на базе которых работает Voxyc AI:
- Сервис PIT – компонент, отвечающий за интерфейсы личного кабинета.
- Сервис VI – компонент, отвечающий за механизм обработки сессий коммуникации по сценариям.
- Сервис идентификации Keycloak – компонент, обеспечивающий реализацию идентификации пользователей решения.
- Сервис отчетности FastReport – компонент, обеспечивающий функционал по формированию отчетов в решении Voxyc.
Взаимосвязь компонентов отражена на рисунке ниже.

В качестве базовой ОС выбран дистрибутив Astra Linux 1.7.0. (Debian 10).
3. Инсталляция решения Voxyc AI
Для инсталляции решения Voxyc AI необходимо последовательно выполнить следующие шаги:
-
Распаковать архивы с решением в каталог /opt таким образом, чтобы получилась следующая иерархия:
/opt/dotnet
/opt/keycloak
/opt/Voxyc
/opt/Voxyc/pit
/opt/Voxyc/vi
/opt/Voxyc/reporting -
Разместить в каталоге /etc/systemd/system файлы служб pit.service, vi.service, keycloak.service и reporting.service.
Содержимое файлов приведено в приложении А.
Каждый конфигурационный файл сервиса задает помимо прочего переменные окружения, для сервисов pit, vi, reporting – это каталог, где располагаются файлы сертификата.
В данном примере это
ASPNETCORE_Kestrel__Certificates__Default__Path_Crt=/etc/ssl/Voxyc/xxxxxxx.crt и
ASPNETCORE_Kestrel__Certificates__Default__Path_Key=/etc/ssl/Voxyc/xxxxxxx.key.Для сервиса keycloak – это учетные данные первого администратора самой системы keycloak: KEYCLOAK_ADMIN и KEYCLOAK_ADMIN_PASSWORD. Пароль впоследствии можно сменить из web-интерфейса, в сервисе его менять после этого не нужно.
-
Разместить в каталогах, указанных для сервисов pit, vi и reporting, файлы открытого и закрытого ключа – crt и key.
-
Выполнить команду для обнаружения подсистемой управления сервисами Linux новых файлов:
systemctl daemon-reload -
Включить автостарт файлов:
systemctl enable pit
systemctl enable vi
systemctl enable reporting
systemctl enable keycloak -
Заполнить конфигурационные файлы перед первым стартом приложения.
В файле Keycloak /opt/keycloak/conf/keycloak.conf указать:
- адрес, логин и пароль сервера баз данных (важно: пустую базу данных с необходимым именем нужно создать заранее самостоятельно);
- путь к файлам сертификата;
- параметр hostname, который будет соответствовать сертификату и по которому впоследствии можно будет обращаться через web-интерфейс;
- при необходимости – дополнительные параметры.
В файле pit /opt/Voxyc/pit/pit.appsettings.json:
- указать публичное имя веб-сервиса – PublicUrl;
- указать внутреннее имя веб-сервиса – InternalUrl;
- указать строку подключения к серверу баз данных – ConnectionString;
- в разделе FirstDeployment для параметра CreateDatabasesIfNotExists установить значение true;
- в значениях AdminUserEmail и AdminUserPassword указать логин и пароль пользователя который станет первичным администратором решения Voxyc AI, этот пользователь будет добавлен в пользователи первого реалма keycloak при первом старте сервиса;
- в разделе Keycloak в параметре ApiAddress указать имя, по которому сервис Pit будет обращаться к keycloak и которое было задано в параметре hostname;
- в разделе Keycloak в параметре AllowedAddresses указать PublicUrl сервера/серверов с которых keycloak будет принимать подключения, в нашем случае это PublicUrl, заданный в самом начале;
- в разделе RealmsAdmin в параметрах RealmName указать “master”, ClientId – “admin-cli”;
- в Login и Password указать соответственно логин и пароль, который был задан в сервисе keycloak.
Остальные параметры задаются по потребности.
Для сервиса pit учетная запись для подключения к СУБД должна иметь на сервере СУБД пустую базу с аналогичным учетной записи именем.
Т.е. если учетная запись для подключения к СУБД называется Voxyc, то необходимо создать базу данных с именем Voxyc.
Также для успешного развертывания эта учетная запись должна обладать правами суперпользователя на СУБД postgres.
В файле сервиса vi /opt/Voxyc/vi/vi.appsettings.json:
- указать PublicUrl;
- указать ConnectionString к базе данных PitMaster.
В файле сервиса reporting /opt/Voxyc/reporting/report_server.appsettings.json:
- указать PublicUrl;
- указать InternalUrl.
Предзаполенные конфигурационные файлы уже находятся в указанных каталогах с решением.
-
Запустить сервис keycloak и проверить, что сервис успешно запустился — зайти в администраторский веб-интерфейс с указанными в сервисе логином и паролем.
-
Запустить сервис reporting и проверить, что сервис успешно запустился.
-
Запустить сервис pit.
-
Запустить сервис vi.
Команды, с помощью которых можно выполнить старт и мониторинг состояния сервисов:
systemctl start keycloak
systemctl status keycloak
systemctl start reporting
systemctl status reporting
systemctl start pit
systemctl status pit
systemctl start vi
systemctl status vi
После успешного развертывания можно зайти с данными, указанными в конфигурационном файле /opt/Voxyc/pit/pit.appsettings.json в параметрах AdminUserEmail и AdminUserPassword в веб-интерфейс, указанный в параметре PublicUrl.