Процесс установки Sherpa Orchestrator#

Распаковка клиентских файлов#

На этом этапе вы распакуете архив с обновлением Sherpa Orchestrator и подготовите систему к установке.

Распаковка архива с обновлением#

# Найдите и распакуйте архив обновления (автоматически выбирается самая свежая версия)
tar -xvzf "$(ls docker_orchestrator_client_files_*.tgz | sort -V | tail -n 1)"
💡 Комментарии к распаковке архива

tar -xvzf "$(ls docker_orchestrator_client_files_*.tgz | sort -V | tail -n 1)" - распаковывает архив с обновлением

  • tar -xvzf - распаковывает архив с подробным выводом
  • ls docker_orchestrator_client_files_*.tgz - находит все файлы архивов обновлений
  • sort -V - сортирует версии естественно (1.0 < 1.1 < 1.10)
  • tail -n 1 - выбирает самый свежий файл

Ожидаемый результат: Будут распакованы необходимые файлы и директории для обновления системы.

Ожидаемый результат: Будут распакованы файлы обновления Sherpa Orchestrator.

💡 Автоматическая установка После распаковки архива можно воспользоваться интерактивным скриптом вместо ручных шагов ниже:

sudo ./sh_scripts/install.sh

Скрипт проведёт через все этапы установки: выбор БД, загрузку образов, настройку .env, генерацию SSL-сертификатов и запуск контейнеров.

Подготовка скриптов к выполнению#

# Перейдите в директорию sh_scripts
# Сделайте все скрипты исполняемыми
# Вернитесь в корневую директорию проекта
cd sh_scripts && chmod +x *.sh && cd ..
💡 Комментарии к подготовке скриптов

cd sh_scripts/ - переходит в директорию со скриптами установки

*chmod +x .sh - устанавливает права исполнения для всех shell-скриптов

  • chmod +x - добавляет право исполнения
  • *.sh - все файлы с расширением .sh

cd .. - возвращает в корневую директорию проекта

Загрузка Docker-образов#

# Запустите скрипт загрузки Docker-образов
sudo ./sh_scripts/load_all_docker_images.sh
💡 Комментарии к загрузке Docker-образов

sudo ./sh_scripts/load_all_docker_images.sh - запускает скрипт загрузки Docker-образов

Что делает скрипт:

  1. Загружает все Docker-образы из скачанных .tar.gz файлов
  2. Импортирует образы в локальный Docker registry
  3. Проверяет успешность загрузки всех образов оркестратора

Создание конфигурации системы#

# Запустите скрипт создания настроек
sudo ./sh_scripts/create_config.sh
💡 Комментарии к созданию конфигурации

sudo ./sh_scripts/create_config.sh - запускает скрипт создания базовой конфигурации

Что делает скрипт:

  1. Создает необходимые директории для конфигурации
  2. Настраивает базовые параметры системы
  3. Подготавливает структуру для дальнейшей настройки

Копирование SSL-сертификатов#

Для обеспечения безопасного HTTPS-соединения необходимо скопировать SSL-сертификаты:

# Создайте директорию для сертификатов (если не существует)
mkdir -p ./nginx/config/certs/

# Переименуйте и скопируйте сертификат и ключ для вашего домена
# Замените пути на реальные пути к вашим сертификатам
cp /path/to/your/certificate.crt ./nginx/config/certs/orchestrator.crt
cp /path/to/your/private.key ./nginx/config/certs/orchestrator.key
💡 Комментарии к копированию SSL-сертификатов

mkdir -p ./nginx/config/certs/ - создает директорию для сертификатов

  • -p - создает родительские директории если они не существуют

cp /path/to/your/certificate.crt ./nginx/config/certs/orchestrator.crt - копирует и переименовывает сертификат cp /path/to/your/private.key ./nginx/config/certs/orchestrator.key - копирует и переименовывает приватный ключ

Требования к сертификатам:

  • Сертификат должен быть переименован в orchestrator.crt
  • Приватный ключ должен быть переименован в orchestrator.key
  • Имена файлов должны точно соответствовать указанным
  • Формат сертификата: .crt или .pem
  • Формат ключа: .key

Важно: Убедитесь что сертификаты имеют правильные права доступа:

# Установите правильные права на сертификаты(могут понадобиться sudo права)
chmod 644 ./nginx/config/certs/orchestrator.crt
chmod 600 ./nginx/config/certs/orchestrator.key
chown 101:101 ./nginx/config/certs/orchestrator.key ./nginx/config/certs/orchestrator.crt

ВНИМАНИЕ: Получить сертификаты необходимо у администратора сети либо в вашем корпоративном центре сертификации. В случае отсутствия данных сертификатов вы можете воспользоваться инструкциями по получению сертификатов Let's Encrypt или других центров сертификации.

Настройка TLS для протокола LDAPS (опциональный пункт)#

Важно: Если поддержка LDAPS не требуется, пропустите данный пункт.

Скопируйте сертификат rootCA с именем ca-certificates.crt в каталог /opt/SherpaOrchestrator/backend/config/certs/

В файле docker-compose.yml раскомментируйте строку:

- ./backend/config/certs/ca-certificates.crt:/etc/ssl/certs/ca-certificates.crt:ro

Настройка сертификатов для IMAP-сервера (опциональный пункт)#

Важно: Если вы не планируете использование Триггеров с запуском по электронной почте или ваш почтовый сервер не требует сертификатов, пропустите данный пункт.

Скопируйте сертификаты для imap в папку /opt/SherpaOrchestrator/backend/config/certs/imap_certs

Выбор конфигурации базы данных#

Настройка переменных окружения#

Вся конфигурация системы выполняется через файл .env. Откройте его и задайте необходимые параметры:

# Откройте файл .env в текстовом редакторе
nano .env

Обязательно настройте следующие переменные:

# IP-адрес сервера (измените на ваш реальный IP-адрес или домен)
HOST_IP=your_server_ip

# Доменное имя, которое будет использовать NGINX
NGINX_DOMAIN_NAME=your_domain_name

# Настройки VNC
VNC_HOST=your_server_ip
VNC_PORT=5900
VNC_LOG_LEVEL=INFO
VNC_START_PORT=6080
VNC_MAX_PORTS=21
VNC_WEBSOCKIFY_WEB_ROOT=/opt/noVNC

# Тип базы данных: mysql или pgsql
DB_ENGINE=mysql

# Настройки MySQL (используется при DB_ENGINE=mysql)
MYSQL_HOST=orchestrator-db
MYSQL_PORT=3306
MYSQL_USER=root
MYSQL_PASSWORD=mysql-password
MYSQL_DB=orchestrator

# Также задайте пароль для MariaDB-контейнера (должен совпадать с MYSQL_PASSWORD)
DB_PASSWORD=mysql-password

# Настройки PostgreSQL (используется при DB_ENGINE=pgsql)
POSTGRES_HOST=orchestrator-pg
POSTGRES_PORT=5432
POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres-password
POSTGRES_DBNAME=postgres
POSTGRES_SCHEMA_NAME=orchestrator
💡 Комментарии к настройке переменных окружения

HOST_IP — IP-адрес или доменное имя сервера, по которому система доступна извне. Должен быть статическим IP или корректно настроенным доменом.

NGINX_DOMAIN_NAME — домен для веб-интерфейса (например, orchestrator.example.com). Обычно совпадает с доменом в SSL-сертификате.

DB_ENGINE — выберите mysql для MariaDB или pgsql для PostgreSQL. Это значение определяет, какой набор переменных подключения будет использован.

MYSQL_PASSWORD / DB_PASSWORD — пароль для MySQL/MariaDB. Оба значения должны совпадать: MYSQL_PASSWORD используется приложением, DB_PASSWORD — контейнером базы данных.

POSTGRES_PASSWORD — пароль для PostgreSQL. Используется и контейнером БД, и приложением.

Все параметры конфигурации (база данных, почта, LDAP, прокси и др.) читаются приложением напрямую из переменных окружения файла .env. Редактировать backend/config/config.ini или backend/config/phinx.php не требуется — они уже настроены для работы через .env.

При необходимости настройте дополнительные параметры в .env:

# Настройки почтового сервера (SMTP)
SMTP_SERVER=smtp.example.com
SMTP_PORT=25
SMTP_SECURE=tls
SMTP_LOGIN=
SMTP_PASSWORD=
SMTP_FROM=Orchestrator
SMTP_FROM_EMAIL=

# Настройки LDAP (опционально)
LDAP_SERVER=
LDAP_PORT=389
LDAP_ENCRYPTION=tls
LDAP_BASE_DN=dc=mydomain,dc=local
LDAP_GROUP=Group
LDAP_UID_KEY=uid
LDAP_USER=
LDAP_USERNAME=
LDAP_PASSWORD=

# Прочие настройки
SESSION_LAST_ACTIVITY_TIMEOUT=30
STORE_LOGS_DAYS=180
STORE_AUDIT_DAYS=180

Запуск системы#

После завершения всех подготовительных этапов можно запустить Sherpa Orchestrator.

# Запустите систему с нужным профилем БД
# Вариант 1: MariaDB
docker compose --profile mariadb up -d

# Вариант 2: PostgreSQL
docker compose --profile pg up -d

# Если нужен VNC (опционально), добавьте профиль vnc:
# Вариант 1: MariaDB + VNC
docker compose --profile mariadb --profile vnc up -d

# Вариант 2: PostgreSQL + VNC
docker compose --profile pg --profile vnc up -d

# Если нужен Vault (опционально), добавьте профиль vault:
# Вариант 1: MariaDB + Vault
docker compose --profile mariadb --profile vault up -d

# Вариант 2: PostgreSQL + Vault
docker compose --profile pg --profile vault up -d

# Комбинация профилей: MariaDB + VNC + Vault
docker compose --profile mariadb --profile vnc --profile vault up -d
💡 Комментарии к запуску системы

docker compose --profile <mariadb|pg> up -d - запускает систему с выбранной БД

--profile vnc - профиль VNC опционален, запускает сервис orchestrator-vnc-proxy

  • Необходим только если роботы используют VNC для управления рабочим столом
  • Добавьте к любой комбинации профилей

docker compose --profile <mariadb|pg> --profile vault up -d - запускает систему с Vault

  • Профиль vault опционален и включается только при необходимости
  • Для дальнейшей настройки Vault используйте инструкцию 6) VAULT.md

Что делает скрипт:

  1. Запускает сервисы оркестратора через Docker Compose
  2. Активирует только контейнер выбранной базы данных по профилю (mariadb или pg)
  3. Настраивает сеть и volumes
  4. Выполняет миграции базы данных при необходимости
  5. Запускает сервисы в фоновом режиме

Проверка статуса запуска#

# Проверьте статус всех запущенных контейнеров
docker compose ps

# Посмотрите логи системы
docker compose logs orchestrator

# Мониторинг логов в реальном времени
docker compose logs -f orchestrator
💡 Комментарии к проверке статуса

docker compose ps - показывает статус всех контейнеров

  • Должны быть запущены: orchestrator и один контейнер БД (orchestrator-db при mariadb или orchestrator-pg при pg); orchestrator-vnc-proxy — только при запуске с --profile vnc

docker compose logs orchestrator - показывает логи основного сервиса

docker compose logs -f orchestrator - следит за логами в реальном времени

  • -f - follow (следить за новыми сообщениями)

Ожидаемый вывод после успешного запуска:

# Без VNC (базовый запуск):
NAME                    STATUS              PORTS
orchestrator            Up 2 minutes        0.0.0.0:443->443/tcp
orchestrator-db         Up 2 minutes        3306/tcp

# С профилем vnc (--profile vnc):
NAME                    STATUS              PORTS
orchestrator            Up 2 minutes        0.0.0.0:443->443/tcp
orchestrator-db         Up 2 minutes        3306/tcp
orchestrator-vnc-proxy  Up 2 minutes        0.0.0.0:5000->5000/tcp, 0.0.0.0:6080-6100->6080-6100/tcp

# Для профиля pg вместо orchestrator-db будет orchestrator-pg

Проверка доступности системы#

Проверка веб-интерфейса:

# Проверьте HTTPS доступность (замените на ваш домен/IP)
curl -I https://your-domain-or-ip

# Ожидаемый ответ: HTTP/2 200 или перенаправление

Управление системой#

Остановка системы:

# Остановите все сервисы
docker compose down

# Остановите с удалением volumes (осторожно!)
docker compose down -v

Перезапуск сервисов:

# Перезапустите конкретный сервис
docker compose restart orchestrator

# Перезапустите все сервисы
docker compose restart

Просмотр ресурсов:

# Проверьте использование ресурсов контейнерами
docker stats

Возможные проблемы при запуске:#

  • Контейнеры не запускаются: Проверьте логи с docker compose logs
  • Проблемы с сетью: Убедитесь что порты 443, 5000, 6080-6100 свободны
  • Ошибки подключения к БД: Проверьте настройки в docker-compose.yml
  • Проблемы с доменом: Убедитесь что HOST_IP корректно настроен

После успешного запуска и тестирования системы установка Sherpa Orchestrator завершена. Система будет доступна по HTTPS на настроенном домене или IP-адресе.