В этой статье:
Настройка конфигурационных файлов платформы
Запуск и остановка контейнеров
Проверка состояния и логирование
В статье описан порядок развертывания и запуска «Форсайт. Аналитическая платформа» в Docker-контейнерах. Для разворачивания платформы будет использоваться инструмент Docker Compose. Перед началом работы подготовьте необходимое программное обеспечение, дистрибутивы платформы и данные для подключения к используемым сервисам:
дистрибутивы платформы для Astra Linux 1.8: biserver и webserver, bud - при необходимости работы с продуктом «Форсайт. Бюджетирование и консолидация»;
машина для запуска Docker и работы с платформой. Docker может быть запущен на любой операционной системе, которую он поддерживает, но контейнеры должны собираться по дистрибутивам платформы для Astra Linux 1.8;
данные для подключения к репозиторию, с которым будет работать пользователь;
логин и пароль служебного пользователя, зарегистрированного в репозитории;
при необходимости работы с продуктом «Форсайт. Бюджетирование и консолидация» потребуется актуальный файл product.dat. Файл может быть получен при обращении в техническую поддержку по адресу support@fsight.ru или через сервисы технической поддержки, которые доступны после регистрации на сайте;
данные для подключения к сервису лицензий licman.
Все дальнейшие команды выполняются в оболочке PowerShell при работе в ОС Windows или в терминале при работе в ОС Linux.
Для получения и подготовки к дальнейшему использованию файлов конфигурации выполните следующие шаги:
Архив с файлами конфигурации, необходимыми для создания Docker-контейнеров с помощью Docker Compose, можно получить при обращении в техническую поддержку по адресу support@fsight.ru или через сервисы технической поддержки, которые доступны после регистрации на сайте. Распакуйте архив в какую-либо директорию.
В каталог build скопируйте дистрибутивы компонентов, которые требуется развернуть: BI-сервера, серверной части веб-приложения и при необходимости продукта «Форсайт. Бюджетирование и консолидация».
В файле .env в следующих переменных задайте данные для подключения к сервису лицензий licman и учётные данные служебного пользователя:
LICMAN_PORT=8510
LICMAN_HOST=<licman server>
AUDIT_USER=<audit user>
AUDIT_PASS=<audit user password>
Примечание. В различных репозиториях могут использоваться разные служебные пользователи. Укажите учётные данные служебного пользователя зарегистрированного в том репозитории, в котором предполагается работа.
Задайте переменную PRODUCT_DAT, если предполагается работа с программным продуктом «Форсайт. Бюджетирование и консолидация». В качестве значения укажите содержимое файла лицензии product.dat, значение указывается в кавычках со всеми переводами строк. Если продукт «Форсайт. Бюджетирование и консолидация» не используется, переменную PRODUCT_DAT изменять не требуется. Пример:
PRODUCT_DAT="U2FsdGVkX9+0LXsbjnq+Q6kTzhKxrtSkImdLraQr1ToSs0ZGf1puqBnCebAws1b
oCimGzwYIiRMNFGTItGHsQuGGRHKeOCf1v/TvvyLrIiryYQOwCixyDa2Ts1xbRu8
7"
Во всех вложенных каталогах compose/conf переименуйте файлы с суффиксом «.example», удалив этот суффикс из имени. Пример: config.json.example > config.json.
В результате выполнения указанных действий будет подготовлен комплект файлов для развёртывания платформы через Docker. Сборка Docker-контейнеров будет осуществляться в соответствии с инструкциями, которые заданы в файле compose/compose.yml.
Для развёртывания платформы установите Docker на рабочей машине. Инструкции по установке Docker для Linux/Windows приведены в официальной документации. Для загрузки Docker-образов рабочая машина должна иметь доступ к используемым репозиториям. Если доступ в интернет осуществляется через прокси-сервер, предварительно настройте Docker для работы с ним.
При работе в ОС Linux, помимо Docker, требуется установить плагин Docker Compose. Инструкция по установке приведена в официальной документации. Также можно воспользоваться официальной документацией того дистрибутива Linux, который используется. Например, документацией Astra Linux для установки Docker и Docker Compose https://docs.astralinux.ru/latest/guide/virtual/docker/.
Если рабочая машина подключается к интернету через прокси-сервер, то необходимо настроить прокси для Docker. Значения адреса и порта прокси-сервера уточните у администратора сети. Перед запуском Docker-образов выполните команды:
в ОС Windows:
$env:HTTP_PROXY="http://<адрес_прокси>:<порт>"
$env:HTTPS_PROXY="http://<адрес_прокси>:<порт>"
в ОС Linux:
export HTTP_PROXY="http://<адрес_прокси>:<порт>"
export HTTPS_PROXY="http://<адрес_прокси>:<порт>"
После этого при первом запуске Docker сможет обратиться к репозиторию Astra Linux и взять оттуда образ Astra Linux 1.8 для монтирования системы. Для проверки доступа Docker в интернет и возможности получения образа используйте команду:
docker pull registry.astralinux.ru/library/astra/ubi18:1.8.4
Если доступ имеется, то будет выведено сообщение об успешной загрузке/обновлении образа Astra Linux 1.8.
При работе в Linux сервису Docker требуется возможность изменять файл Metabases.xml в случае изменения списка репозиториев. Предоставьте пользователю, от имени которого запускается Docker, необходимые права на файл:
chown <название пользователя>:<группа пользователя> <путь до Metabases.xml, включая сам файл>
chmod 777 <путь до Metabases.xml, включая сам файл>
В подкаталогах compose/conf находятся конфигурационные файлы компонентов платформы. При необходимости измените настройки в этих файлах:
настройки BI-сервера в подкаталоге biserver: registry.reg и Metabases.xml;
настройки серверной части веб-приложения в подкаталоге webserver: config.json и PP.xml;
настройки серверной части продукта «Форсайт. Бюджетирование и консолидация» в подкаталоге bud. Файл compose/conf/bud/config.json настраивается аналогично compose/conf/webserver/config.json.
Для запуска всех сервисов, указанных в файле compose.yml, перейдите в каталог compose и выполните команду:
docker compose up -d
В результате будут созданы и запущены контейнеры соответствующих сервисов.
При первом запуске сборки контейнеров или при наличии изменений файлов в папке build команда будет выполняться дольше, чем при обычной работе. Также при первом запуске сервисы используемых контейнеров будут зарегистрированы в ОС.
Примечание. Если на используемой машине зарегистрированы сервисы платформы, например уже выполнялась установка BI-сервера и серверной части веб-приложения с помощью дистрибутивов, то может произойти перезапись настроек сервисов. Для избежания конфликтов предварительно можно проверить работу BI-сервера или открыть веб-приложение.
Для остановки и удаления контейнеров, созданных Docker Compose, выполните из каталога compose команду:
docker compose down
Список репозиториев, который мог быть изменён в файле Metabases.xml, будет сохранён.
Для запуска отдельных сервисов укажите их имена в команде up:
docker compose up -d biserver webserver
При этом будут запущены только контейнеры с BI-сервером и серверной частью веб-приложения, а также необходимые им зависимости, если они указаны в compose.yml. Остановка и удаление конкретных контейнеров производится по той же логике:
docker compose down biserver
Эта команда остановит и удалит только BI-сервер.
После успешного запуска контейнеров платформа будет доступна на компьютере пользователя по следующим адресам:
веб-приложение «Форсайт. Аналитическая платформа»: http://localhost:8110/fp10.x/r/#;
продукт «Форсайт. Бюджетирование и консолидация»: http://localhost:8310/bud/#;
адрес сервиса BI-сервера: http://localhost:8810/FPBI_App_v10.x/axis2/services/PP.SOM.Som. Ссылка не предназначена для открытия в браузере, может использоваться для отправки прямых запросов к BI-серверу.
После первого запуска список репозиториев будет пуст, для его наполнения и начала работы в платформе обратитесь к подразделу «Настройка подключения к репозиторию».
При добавлении репозиториев на СУБД, отличных от Postgres, учитывайте требования, описанные в подразделе «Поддерживаемые СУБД».
Сведения о добавленном репозитории сохраняются в файле Metabases.xml и будут доступны после перезапуска контейнера. Для работы продукта «Форсайт. Бюджетирование и консолидация» добавьте в список репозиториев платформы репозиторий, указанный в compose/conf/bud/config.json.
Примечание. Платформа работает в режиме GetStatusMode=1, то есть при отсутствии запросов от пользователя сессия будет прекращена в течение 30 минут автоматически.
Для проверки статуса работы контейнеров выполните команду docker compose ps:

Будут отображены текущие состояния всех активных контейнеров.
При наличии следующих ошибок в логах проверьте настройки в файле .env:
"Укажите имя и пароль сервисного пользователя в файле .env"
"Укажите адрес сервиса лицензирования в файле .env"
В настройках платформы по умолчанию включено логирование BI-сервера на уровне Debug. Поменять уровень логирования можно в файле compose/conf/biserver/registry.reg, изменив значение параметра SeverityLevel.
Для просмотра лога отдельного контейнера выполните команду:
docker compose logs <название_контейнера>
где контейнер: biserver, webserver или bud.
Для просмотра логов сразу всех сервисов выполните команду:
docker compose logs
Для просмотра логов в Docker Desktop откройте раздел Containers, выберите нужный контейнер и перейдите на вкладку Logs:

Вкладка Logs:

Лог всех контейнеров можно посмотреть в разделе Logs. Более подробно о работе с логами можно ознакомиться в официальной документации Docker.
Для разбора лога обратитесь к разделу «Работа с отладочной информацией».
По умолчанию для контейнеров Docker не заданы ограничения на использование ресурсов процессора и оперативной памяти: контейнер может использовать ресурсы в пределах, доступных ему со стороны ОС. При высокой нагрузке это может привести к нехватке ресурсов для других приложений, работающих на машине. Для ограничения потребления ресурсов контейнерами платформы, задайте соответствующие параметры в файле .env.:
WEBSERVER_CPUS=0
WEBSERVER_MEMORY=0
BISERVER_CPUS=0
BISERVER_MEMORY=0
BUD_CPUS=0
BUD_MEMORY=0
Параметры с суффиксом _CPUS задают максимальный объем доступных ресурсов процессоров, который сможет использовать соответствующий контейнер. Значение указывается в количестве ядер процессоров, включая дробные части. Например, при значении 0,5 контейнер сможет использовать до половины вычислительных мощностей одного ядра, а при значении 2 ограничением будут мощности двух ядер. По умолчанию установлено значение 0, при этом лимит на ресурсы процессоров отсутствует.
Параметры с суффиксом _MEMORY задают максимальный объем оперативной памяти, который сможет занимать соответствующий контейнер. Значения указывается в байтах. Также для параметров предусмотрены сокращения для удобства указания больших размеров, например 200m или 1gb.
Пример заполнения параметров:
WEBSERVER_CPUS=0.5
WEBSERVER_MEMORY=200m
Значения ограничений подбираются с учётом доступных ресурсов рабочей машины и предполагаемой нагрузки на платформу. После задания ограничений рекомендуется контролировать фактическое потребление ресурсов контейнерами.
Docker позволяет менять директорию или диск, используемые для хранения образов. В Docker Desktop расположение можно изменить в настройках, в группе VM resources. Измените значение поля «Disk image location» с помощью кнопки «Browse» и нажмите кнопку «Apply & Restart Engine» для переноса образов:

Для машин на ОС Linux директорией по умолчанию будет /var/lib/docker. Директорию можно поменять, указав в файле daemon.json параметр data-root. Файл по умолчанию находится в директории /etc/docker. Предварительно необходимо скопировать данные Docker из старой в новую директорию:
sudo rsync -aHAX --numeric-ids /var/lib/docker/ /<новый путь, указываемый в data-root>
Укажите новое значение в data-root:
{
"data-root": "/<новый путь>"
}
Изменения применятся после перезагрузки Docker, для этого выполните следующие команды:
sudo systemctl daemon-reload
sudo systemctl restart docker
Подробнее о работе data-root читайте в официальной документации Docker по адресу https://docs.docker.com/engine/daemon/.
См. также:
Установка и настройка продукта «Форсайт. Аналитическая платформа»