Обновление 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
done2. Обновите 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.MachineInfo4. Настройте права контейнеров на тома
Контейнеры Центра управления работают от непривилегированных пользователей: сервисы 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 {} +
done5. Перезапустите компоненты
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Что дальше
После завершения обновления выполните проверку работоспособности системы.