Процесс обновления 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 shelluser@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- бэкап директории configcp -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— домен для NGINXDB_ENGINE— тип БД:mysqlилиpgsqlMYSQL_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 и миграция секретов вынесены в отдельную инструкцию:
После успешного обновления система Sherpa Orchestrator готова к работе.