Процесс установки 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-образов
Что делает скрипт:
- Загружает все Docker-образы из скачанных .tar.gz файлов
- Импортирует образы в локальный Docker registry
- Проверяет успешность загрузки всех образов оркестратора
Создание конфигурации системы#
# Запустите скрипт создания настроек
sudo ./sh_scripts/create_config.sh
💡 Комментарии к созданию конфигурации
sudo ./sh_scripts/create_config.sh - запускает скрипт создания базовой конфигурации
Что делает скрипт:
- Создает необходимые директории для конфигурации
- Настраивает базовые параметры системы
- Подготавливает структуру для дальнейшей настройки
Копирование 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
Что делает скрипт:
- Запускает сервисы оркестратора через Docker Compose
- Активирует только контейнер выбранной базы данных по профилю (
mariadbилиpg) - Настраивает сеть и volumes
- Выполняет миграции базы данных при необходимости
- Запускает сервисы в фоновом режиме
Проверка статуса запуска#
# Проверьте статус всех запущенных контейнеров
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-адресе.