Skip to Content

Обновление 1.26.10.2 → 1.26.10.3

ℹ️

Примечания к релизу: 1.26.10.3

ℹ️

Обязательные пакеты: unzip, acl. Необязательные: 7zip и wget – для загрузки образов через архивы. Отсутствующие пакеты можно установить из комплекта поставки согласно статье Установка пакета из комплекта поставки.

⚠️

Перед началом работ на целевой машине остановите все её процессы через Центр управления (UI).

Значимые изменения, которые следует учитывать системному администратору:

  • Обновлены образы Docker на машине сервера (Центр управления) с тегом 1.26.10.3: ai-server-api, ai-server-auth, ai-server-inference, ai-server-logs и ai-server-machineinfo. Образы ai-server-ui, ai-server-langflow-frontend, ai-server-langflow-backend, образы серверов на целевых машинах и сторонние образы не обновлялись и остаются с прежними тегами
  • Обновлены дистрибутивы Api.MachineInfo-linux.zip (машина сервера) и Agent-linux.zip (целевые машины). Пресеты агентских систем и параметры конфигурации не менялись
  • Структура БД не изменилась
  • Расхождение часов целевой машины и сервера больше не нарушает работу агента: агент не теряет лицензию и принимает служебные токены Центра управления. При расхождении больше 10 секунд агент пишет предупреждение в журнал – синхронизируйте время на машинах

Машина сервера

ℹ️

Шаги этого раздела можно выполнить одним скриптом – см. Скрипт обновления 1.26.10.x → 1.26.10.3.

1. Обновите образы

Через архивы из Nexus (https://nexus.primo-rpa.ru):

Если 7z не установлен, установите пакет 7zip из репозитория ОС или из комплекта поставки согласно статье Установка пакета из комплекта поставки.

names="ai-server-api ai-server-auth ai-server-inference ai-server-logs ai-server-machineinfo" for name in $names; do wget "https://nexus.primo-rpa.ru/repository/raw/1.26.10/ai-server/docker/images/$name.tar.7z" 7z x $name.tar.7z docker load -i $name.tar rm $name.tar.7z $name.tar done

Через Docker-реестр Nexus, если с машины открыт nexus.primo-rpa.ru:8000:

names="ai-server-api ai-server-auth ai-server-inference ai-server-logs ai-server-machineinfo" for name in $names; do docker pull nexus.primo-rpa.ru:8000/primo-rpa/$name:1.26.10.3 done

2. Обновите docker-compose.yaml

Замените тег обновлённых образов в файле /app/Primo.AI/Api/docker-compose.yaml:

sudo sed -i -E 's#(image:[[:space:]]+nexus\.primo-rpa\.ru:8000/primo-rpa/ai-server-(api|auth|inference|logs)):1\.26\.10\.2#\1:1.26.10.3#' /app/Primo.AI/Api/docker-compose.yaml

Проверьте результат командой grep image: /app/Primo.AI/Api/docker-compose.yaml: у образов ai-server-api, ai-server-auth, ai-server-inference и ai-server-logs тег 1.26.10.3, у ai-server-ui и ai-server-langflow-frontend – 1.26.10.2, у ai-server-langflow-backend – 1.26.10.1.

3. Обновите Api.MachineInfo

wget "https://nexus.primo-rpa.ru/repository/raw/1.26.10/ai-server/linux/Api.MachineInfo-linux.zip" sudo systemctl stop Primo.AI.Api.MachineInfo sudo unzip -o Api.MachineInfo-linux.zip -x "appsettings*" -d /app/Primo.AI/Api.MachineInfo/ sudo chmod +x /app/Primo.AI/Api.MachineInfo/Primo.AI.Api.MachineInfo sudo chown primo:primo-ai /app/Primo.AI/Api.MachineInfo/ sudo systemctl start Primo.AI.Api.MachineInfo

4. Настройте права контейнеров на тома

Контейнеры Центра управления работают от непривилегированных пользователей: сервисы Api, Auth, Inference и Logs – от UID 1001, nginx (server_ui) и бэкенд Конструктора агентских систем – от UID 1000. Если UID учетной записи primo с ними не совпадает, контейнеры не могут прочитать свои конфигурации и писать в тома. Каталоги, созданные при обновлении через sudo, принадлежат root, и контейнеры не могут в них писать при любом UID primo. Механизм POSIX ACL с наследованием выдаёт контейнерам доступ ко всем текущим и будущим файлам. Команды безопасно выполнять повторно.

Установите пакет acl, если он отсутствует, из репозитория ОС (sudo apt install -y acl) или из комплекта поставки согласно статье Установка пакета из комплекта поставки.

volumes=/app/Primo.AI/Api/volumes sudo mkdir -p $volumes/Api_Models $volumes/Api_ContextFiles $volumes/Api_LangflowScriptPreset \ $volumes/Api_SmartOcrTestFile $volumes/Api_TestPackage \ $volumes/Logs/Api $volumes/Logs/Api.Auth $volumes/Logs/Api.Inference $volumes/Logs/Api.Logs \ $volumes/langflow_data/logs for dir in conf Api_Models Api_ContextFiles Api_LangflowScriptPreset Api_SmartOcrTestFile Api_TestPackage Logs; do sudo setfacl -R -m u:1001:rwX $volumes/$dir sudo find $volumes/$dir -type d -exec setfacl -d -m u:1001:rwX {} + done for dir in nginx langflow_data; do sudo setfacl -R -m u:1000:rwX $volumes/$dir sudo find $volumes/$dir -type d -exec setfacl -d -m u:1000:rwX {} + done

5. Перезапустите компоненты

docker compose -f /app/Primo.AI/Api/docker-compose.yaml down && \ docker compose -f /app/Primo.AI/Api/docker-compose.yaml up -d

Убедитесь, что Центр управления доступен по HTTPS (порт 44392).

ℹ️

После обновления Центра управления выполните повторный вход в систему.

Целевые машины

ℹ️

Шаги этого раздела можно выполнить одним скриптом – см. Скрипт обновления 1.26.10.x → 1.26.10.3.

Образы серверов на целевых машинах и конфигурация агента не менялись – обновляются только файлы агента.

1. Обновите файлы агента

wget "https://nexus.primo-rpa.ru/repository/raw/1.26.10/ai-server/linux/Agent-linux.zip" sudo systemctl stop Primo.AI.Agent sudo unzip -o Agent-linux.zip -x "appsettings*" -d /app/Primo.AI/Agent/ sudo chmod +x /app/Primo.AI/Agent/Primo.AI.Agent sudo chown -R agent:primo-ai /app/Primo.AI/Agent/
ℹ️

Флаг -x "appsettings*" сохраняет ваш файл конфигурации агента.

2. Запустите агента

sudo systemctl start Primo.AI.Agent

Что дальше

После завершения обновления выполните проверку работоспособности системы.