Процесс обновления Sherpa Orchestrator#

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

sudo ./sh_scripts/update.sh

Скрипт выполнит резервное копирование, остановку контейнеров, загрузку новых образов, обновление .env и запуск с проверкой доступности.

1. Скачивание файлов#

Скачайте все последние файлы обновления Sherpa Orchestrator по ссылкам в подготовке

2. Перенос файлов на сервер#

После скачивания перенесите все файлы на целевой Linux сервер любым удобным способом:

Через SCP/SFTP#

# Скопируйте файлы на сервер
scp *.tar.gz user@target-server:/path/to/installation/directory/
💡 Комментарии к переносу через SCP/SFTP

*scp .tar.gz user@target-server:/path/to/installation/directory/ - копирует файлы на удаленный сервер

  • scp - secure copy (безопасное копирование)
  • *.tar.gz - шаблон для выбора файлов обновления
  • user@target-server - учетные данные для подключения
  • /path/to/installation/directory/ - путь назначения на сервере

Через SFTP клиент#

Используйте любой SFTP клиент (FileZilla, WinSCP, Cyberduck) для копирования файлов на сервер.

Через сетевую папку#

Если сервер доступен по SMB/CIFS, используйте проводник Windows или команду copy.

Проверка переноса#

# Подключитесь к серверу
ssh user@target-server

# Перейдите в директорию с файлами (обычно это opt/SherpaOrchestrator)
cd /path/to/installation/directory

# Проверьте наличие всех файлов
ls -la *.tar.gz

# Проверьте размеры файлов
ls -lh *.tar.gz
💡 Комментарии к проверке переноса

ssh user@target-server - подключается к удаленному серверу по SSH

  • ssh - secure shell
  • user@target-server - учетные данные для подключения

cd /path/to/installation/directory - переходит в директорию с файлами

*ls -la .tar.gz - показывает подробную информацию о скачанных файлах

  • -l - длинный формат
  • -a - показывает скрытые файлы

*ls -lh .tar.gz - показывает размеры файлов в человеко-читаемом формате

  • -h - human readable (Кб, Мб, Гб)

3. Остановка контейнеров#

# Остановите все запущенные сервисы
docker compose down
💡 Комментарии к остановке контейнеров

docker compose down - останавливает все сервисы Docker Compose

  • Останавливает и удаляет контейнеры, сети
  • Сохраняет volumes и images

Проверка остановки: docker ps -a | grep orchestrator - проверяет статус контейнеров

  • docker ps -a - показывает все контейнеры (включая остановленные)
  • | grep orchestrator - фильтрует по имени orchestrator

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

# Создайте бэкап файла .env (если он есть)
cp .env .env.backup

# Создайте бэкап конфигурации
cp -r ./backend/config ./backend/config_backup

# Если используются кастомные сертификаты, скопируйте их в безопасное место
cp -r ./backend/config/certs ./certs_backup

# Распакуйте файлы обновления
tar -xvzf "$(ls docker_orchestrator_client_files_*.tgz | sort -V | tail -n 1)"

# Скопируйте дефолтную конфигурацию nginx (если ее нет)
cp -r ./nginx/config/default ./nginx/config

# Сделайте скрипты исполняемыми
chmod +x sh_scripts/*.sh

# Если создавался бэкап сертификатов, восстановите их
cp -r ./certs_backup/* ./nginx/config/certs/

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

Создание резервных копий:

  • cp .env .env.backup - бэкап файла конфигурации
  • cp -r ./backend/config ./backend/config_backup - бэкап директории config
  • cp -r ./backend/config/certs ./certs_backup - бэкап SSL сертификатов

Распаковка и подготовка:

  • tar -xvzf "$(ls docker_orchestrator_client_files_*.tgz | sort -V | tail -n 1)" - распаковывает свежие файлы обновления
  • chmod +x sh_scripts/*.sh - делает скрипты исполняемыми
  • cp -r ./certs_backup/* ./backend/config/certs/ - восстанавливает сертификаты

sudo ./sh_scripts/load_all_docker_images.sh - загружает все Docker-образы

Проверка загрузки: docker images | grep orchestrator - показывает загруженные образы orchestrator

5. Выбор конфигурации БД и проверка переменных окружения#

# Откройте файл .env для проверки и обновления
nano ./.env

# Проверьте наличие обязательных переменных
grep -E "(HOST_IP|MYSQL_PASSWORD|DB_PASSWORD|POSTGRES_PASSWORD|NGINX_DOMAIN_NAME|DB_ENGINE)" .env

# Проверьте корректность синтаксиса
cat .env | grep -v '^#' | grep '=' | wc -l
💡 Комментарии к проверке переменных окружения

nano ./.env - открывает файл конфигурации в редакторе

grep -E "..." .env - проверяет наличие ключевых переменных:

  • HOST_IP — IP-адрес или домен сервера
  • NGINX_DOMAIN_NAME — домен для NGINX
  • DB_ENGINE — тип БД: mysql или pgsql
  • MYSQL_PASSWORD / DB_PASSWORD — пароль MySQL для приложения и контейнера БД (должны совпадать)
  • POSTGRES_PASSWORD — пароль PostgreSQL (используется и приложением, и контейнером БД)

cat .env | grep -v '^#' | grep '=' | wc -l - подсчитывает количество переменных

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

5.1 Миграция cache.bin (только при обновлении с версии ≤ v141856)#

⚠️ Важно: Этот шаг необходим только если вы обновляетесь с версии v141856 или более ранней. Если текущая версия оркестратора выше v141856 — пропустите этот раздел.

При обновлении с версии ≤ v141856 необходимо смонтировать файл cache.bin внутрь контейнера orchestrator.

Добавьте в секцию volumes сервиса orchestrator в файле docker-compose.yml следующую строку:

  orchestrator:
    ...
    volumes:
      - orchestrator-storage:/opt/SherpaOrchestrator/backend/Storage
      - ./backend/config:/opt/SherpaOrchestrator/backend/config:z
      - ./path/to/cache.bin:/opt/SherpaOrchestrator/backend/app/cache.bin  # добавить эту строку

Замените ./path/to/cache.bin на реальный путь к файлу cache.bin на вашем сервере.

6. Запуск контейнеров#

# Запустите сервисы с выбранным профилем БД
# Вариант 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 - запускает сервисы в фоновом режиме с выбранной базой данных

  • -d - detached mode (фоновый режим)

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

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

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

  • Профиль vault опционален и подключается только когда нужен секрет-хранилище и миграция в Vault

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

  • docker compose ps - показывает статус всех контейнеров
  • docker compose logs -f orchestrator - показывает логи запуска в реальном времени

Инициализация Vault и миграция секретов вынесены в отдельную инструкцию:

Использование Vaultdocs.sherparpa.ru

После успешного обновления система Sherpa Orchestrator готова к работе.