Установка Sherpa Orchestrator на Linux#

Инструкция предназначена для системного администратора, который выполняет новую установку Sherpa Orchestrator в контуре компании. Установка выполняется с использованием Docker. Установка без Docker больше не поддерживается.

Установка Оркестратора подготавливает сервер управления. Роботы и Координатор устанавливаются отдельно на предназначенные для них машины по инструкциям развертывания платформы.

Подготовка сервера#

Для установки необходимы Linux-сервер и учетная запись администратора с правами sudo. Совместимость дистрибутива и состав поставки необходимо согласовать до начала работ. Команды установки Docker зависят от дистрибутива.

До получения дистрибутива необходимо подготовить:

  • ресурсы сервера по требованиям Docker-поставки: CPU с архитектурой x86-64-v2 и не менее чем двумя ядрами, 4 ГБ оперативной памяти и 20 ГБ свободного места. Для образов, БД, Хранилища и резервных копий требуется дополнительный запас с учетом нагрузки;
  • постоянный адрес сервера и доменное имя, которое разрешается в этот адрес с компьютеров Пользователей и Роботов. Для веб-интерфейса требуется доступ по HTTPS на порт 443;
  • сертификат для выбранного имени, его цепочку доверия и закрытый ключ. Получение и размещение файлов описаны в статье Установка и настройка SSL-сертификатов;
  • выбранный вариант БД. Для отдельного сервера PostgreSQL администратор БД подготавливает доступ и параметры подключения по инструкции по внешней PostgreSQL.

На Linux-сервере необходимо установить и запустить Docker Engine и плагин Docker Compose v2 по инструкции Docker для используемого дистрибутива. Установщик Sherpa требует Bash версии 4 или новее. Для генерации сертификата и ключа шифрования требуется openssl.

Для предварительной проверки используются команды:

bash --version
sudo docker info
sudo docker compose version
openssl version
df -h
free -h

Если Docker недоступен или команда docker compose version завершается ошибкой, сначала необходимо устранить проблему Docker. Отдельная утилита docker-compose версии 1 не заменяет Compose v2.

Пример: проверьте версии Docker и Compose на подготовленном сервере. На тестовом сервере Ubuntu выделено 4 ГБ ОЗУ, запущены Docker 29.9.2 и Compose 5.6.1. Работоспособность на этом стенде не заменяет согласование поддерживаемой ОС.

Состояние четырех контейнеров Sherpa Orchestrator 5.9.5 и ответ HTTPS 200

Состояние четырех контейнеров Sherpa Orchestrator 5.9.5 и ответ HTTPS 200.

Подготовка файлов поставки#

Для установки необходимо получить у технической поддержки Sherpa клиентский архив docker_orchestrator_client_files_VERSION.tgz и архивы образов согласованной версии. Образы backend, nginx, WebSocket и выбранной БД должны соответствовать клиентским файлам. Дополнительные компоненты требуют собственных образов.

Архив необходимо распаковать в отдельный каталог новой установки. Для стандартного размещения используется /opt/SherpaOrchestrator. В командах требуется заменить /path/to и VERSION на путь и версию полученного клиентского архива:

sudo mkdir -p /opt/SherpaOrchestrator
sudo tar -xzf /path/to/docker_orchestrator_client_files_VERSION.tgz -C /opt/SherpaOrchestrator
cd /opt/SherpaOrchestrator

В корне распакованной поставки должны находиться .env, docker-compose.yml и каталог sh_scripts. Архивы Docker-образов необходимо разместить в этом же каталоге. Проверка файлов перед запуском выполняется командами:

sudo test -f .env
sudo test -f docker-compose.yml
sudo test -f sh_scripts/install.sh
sudo test -f sh_scripts/diagnostics.sh

Команда test при наличии файла завершается без вывода с кодом 0. Если файл отсутствует, необходимо проверить каталог распаковки и полноту поставки. Не следует подменять отсутствующие файлы файлами другой версии или распаковывать новую установку поверх работающей.

Пример: после распаковки поставки 5.9.5 проверьте наличие четырех служебных файлов. Для установки с MariaDB сопоставьте версии архивов orchestrator, orchestrator-nginx, orchestrator-websocket и orchestrator-db. На тестовом сервере все файлы найдены, версии образов совпадают.

Проверка клиентских файлов и образов поставки 5.9.5

Проверка клиентских файлов и образов поставки 5.9.5.

Запуск установщика и настройка подключения#

Для пошаговой установки из корня поставки необходимо выполнить:

cd /opt/SherpaOrchestrator
sudo chmod +x sh_scripts/*.sh
sudo bash sh_scripts/install.sh

Установщик проверяет окружение, предлагает выбрать БД и дополнительные компоненты, проверяет архивы, загружает образы и подготавливает конфигурацию. Затем выполняются настройка .env, подготовка HTTPS и запуск выбранных сервисов.

Вариант БД определяется схемой размещения:

  • MariaDB в Docker — БД запускается на сервере Оркестратора с профилем mariadb;
  • PostgreSQL в Docker — БД запускается на сервере Оркестратора с профилем pg;
  • внешняя MySQL — используется отдельный сервер БД, локальный контейнер БД не запускается;
  • внешняя PostgreSQL — используется отдельный сервер PostgreSQL, локальный контейнер БД не запускается.

Для подключения серверных компонентов необходимо задать следующие параметры:

  • HOST_IP — постоянный IP-адрес сервера Оркестратора, доступный клиентским машинам;
  • NGINX_DOMAIN_NAME — доменное имя веб-интерфейса, для которого выпущен сертификат;
  • ORCHESTRATOR_ENCRYPTION_KEY — ключ шифрования данных. Для новой установки необходимо сгенерировать ключ средствами установщика и сохранить его вместе с защищенной конфигурацией и резервными копиями;
  • DB_ENGINE — тип БД. Установщик задает mysql для MariaDB/MySQL или pgsql для PostgreSQL по выбранному варианту;
  • MYSQL_PASSWORD — пароль подключения к MariaDB/MySQL. Установщик также записывает соответствующее значение DB_PASSWORD для контейнера MariaDB;
  • POSTGRES_PASSWORD — пароль подключения к PostgreSQL. Параметр заполняется только при выборе PostgreSQL;
  • MYSQL_HOST — адрес отдельного сервера для внешней MySQL;
  • POSTGRES_HOST — адрес отдельного сервера для внешней PostgreSQL;
  • POSTGRES_PORT — порт внешнего сервера PostgreSQL;
  • POSTGRES_USER — имя роли подключения к внешней PostgreSQL;
  • POSTGRES_DBNAME — имя целевой БД на внешнем сервере PostgreSQL.

Параметры выбранной БД заполняются данными, предоставленными ее администратором. Для внешней PostgreSQL также необходимо проверить существование роли и БД. Необходимые права и вариант их подготовки описаны в инструкции по внешней PostgreSQL. Значения паролей и ключа шифрования не следует включать в скриншоты или обращения в поддержку.

В Docker-поставке конфигурация приложения поступает из .env. Отдельно редактировать backend/config/config.ini и backend/config/phinx.php для этого варианта установки не требуется.

Дополнительные компоненты выбираются по назначению: VNC-proxy — для VNC-подключений к Роботам, Vault — для хранения секретов, SIEM — для передачи событий аудита во внешнюю систему. Для Vault необходимо выполнить настройку хранилища секретов. Состав SIEM и проверка доставки описаны в разделе С использованием Docker.

Для HTTPS необходимо использовать сертификат и закрытый ключ выбранного домена. Установщик предусматривает размещение файлов orchestrator.crt и orchestrator.key в nginx/config/certs. Доверие к корпоративному центру сертификации необходимо настроить также на клиентских машинах.

Пример: выберите MariaDB в Docker и отключите дополнительные профили, если они не нужны для выбранной схемы. Завершите шаги мастера и проверьте конфигурацию Compose. В журнале тестовой установки присутствуют шаги 0–8 и сообщение о завершении, команда проверки возвращает код 0, четыре контейнера работают. Это не заменяет функциональную приемку.

Шаги установщика и проверка запущенных контейнеров

Шаги установщика и проверка запущенных контейнеров.

Проверка запуска и первый вход#

После завершения установщика необходимо проверить конфигурацию и состояние сервисов из каталога установки:

cd /opt/SherpaOrchestrator
sudo docker compose config --quiet
sudo docker compose ps
sudo bash sh_scripts/diagnostics.sh

В конфигурации не должно быть ошибок. Сервисы orchestrator, orchestrator-nginx и orchestrator-websocket должны работать. Состав БД и дополнительных сервисов зависит от сделанного выбора. При внешней БД отсутствие локального контейнера БД соответствует выбранной схеме.

Диагностика проверяет компоненты установки и сообщает об обнаруженных проблемах. Предлагаемые исправления необходимо читать до подтверждения. Успешная диагностика не заменяет проверку входа, Лицензий и выполнения Работы.

Диагностика завершается кодом 0, если проверяемые компоненты не вызвали замечаний. Код 1 требует разбора результатов. Проверка журналов может показать ошибки, сохраненные с первого запуска, даже после устранения причины. Необходимо сопоставить время сообщения с текущим состоянием сервиса. Предложенное исправление прав Storage необходимо согласовать с политикой доступа к файлам перед подтверждением.

Перед изменением прав backend/Storage необходимо определить пользователя backend, которому требуется запись. Пользователь Nginx может иметь другой UID. Пользователь, заданный для выполнения команд в контейнере, проверяется командой:

sudo docker exec orchestrator id

На тестовом образе 5.9.5 команда возвращает uid=82(www-data) gid=82(www-data). Эти значения относятся к проверенному образу. После исправления необходимо проверить загрузку и чтение отдельного тестового файла через приложение. Проверка одного числового режима каталога не заменяет эту проверку.

Для первого входа необходимо открыть в браузере HTTPS-адрес выбранного домена, проверить корректность сертификата и использовать учетные данные администратора, предоставленные для новой установки. Например, при NGINX_DOMAIN_NAME=orchestrator.example.org адрес веб-интерфейса — https://orchestrator.example.org. Пример домена необходимо заменить реальным именем сервера.

Пример: войдите под учетной записью администратора новой установки и откройте раздел Роботы. В правом верхнем углу отображается имя вошедшего Пользователя. На тестовом сервере раздел доступен после успешной авторизации.

Раздел Роботы после входа администратора в Sherpa Orchestrator 5.9.5

Раздел Роботы после входа администратора в Sherpa Orchestrator 5.9.5.

После входа необходимо настроить Лицензии по статье Создание новой Лицензии в Оркестраторе. Настройка Роботов и проверка тестовой Работы выполняются после подготовки серверной части. Открытие страницы входа само по себе не подтверждает готовность всей платформы.

Для функциональной приемки необходимы действующая Лицензия, подключенный тестовый Робот и опубликованный тестовый Процесс. Создание и запуск описаны в статье Создание Работы с выбранными Роботом и Процессом. Приемка включает переход Работы в конечный успешный статус и проверку ожидаемого результата Процесса. Сохранение Работы или ее ожидание в очереди не подтверждает выполнение.

Если сервис завершается или постоянно перезапускается, для поиска причины используются журналы:

sudo docker compose logs --tail 100 orchestrator orchestrator-nginx orchestrator-websocket

При ошибке БД необходимо проверить выбранный вариант и параметры подключения. При ошибке HTTPS — доменное имя, сертификат, ключ и доверие на клиентской машине. Перед передачей журналов в поддержку требуется исключить пароли, ключи и другие секреты.

Проверка автозапуска и дальнейшая настройка#

Для восстановления работы после перезагрузки должны быть настроены автозапуск Docker и политики перезапуска контейнеров. Состояние службы Docker проверяется на Linux-сервере:

sudo systemctl is-enabled docker
sudo systemctl is-active docker

Политики контейнеров необходимо сверить с docker-compose.yml полученной поставки и правилами перезапуска Docker. После согласованной перезагрузки сервера необходимо повторить проверку сервисов, HTTPS и входа.

Пример: после согласованной перезагрузки сервера повторите проверку. На тестовом сервере служба Docker активна, четыре контейнера работают и HTTPS возвращает код 200. Это подтверждает восстановление серверных компонентов.

Проверка контейнеров и HTTPS после перезагрузки Ubuntu

Проверка контейнеров и HTTPS после перезагрузки Ubuntu.

Для дальнейшей подготовки платформы используются следующие материалы: