Эта страница поможет обновить сервер Ринго с версии 3.0.x до 3.1 на сервере с доступом в интернет.
Если установлена версия ниже 3.0, сначала обновите сервер до версии 3.0. Затем выполните инструкцию на этой странице.
Начиная с версии 3.1 образы Ринго публикуются в реестре
cr.ringomdm.ru, а не в Yandex Container Registry (cr.yandex/...). Без смены адреса образа и входа в новый реестр командаdocker compose pullне загрузит контейнер.
jq.80 и 443 без ограничений по IP-адресам и доменам, необходимым для загрузки образов и работы Ринго.key.json для входа в реестр cr.ringomdm.ru. Если файла нет, запросите его у технической поддержки.<тег_версии>).Перед обновлением создайте:
Откат на предыдущую версию без резервной копии базы данных невозможен.
Проверьте текущую установку, пока сервер ещё работает на 3.0.x:
date. Дождитесь успешного выполнения на устройстве.При удалении профилей с настройками Wi-Fi или корневыми сертификатами устройства могут потерять связь с сервером. Убедитесь, что устройства сохранят доступ к Ринго без этих профилей.
Выполняйте команды на сервере Ринго.
Скопируйте файл key.json в каталог /etc/ringo/, если его там ещё нет.
Перейдите в каталог конфигурации:
cd /etc/ringo
jq -r .secret key.json | docker login cr.ringomdm.ru -u "$(jq -r .name key.json)" --password-stdin
Ожидаемый результат — Login Succeeded.
Откройте /etc/ringo/docker-compose.yml.
В сервисе backend (контейнер roll-deploy-backend) замените строку image. Старый адрес в Yandex Container Registry:
image: cr.yandex/crpsam2fr3938ne18jd0/ringo:<тег_версии>
Укажите образ из реестра Ринго и тег версии 3.1 от поддержки:
image: cr.ringomdm.ru/releases/ringo:<тег_версии>
environment сервиса backend добавьте переменные, если их ещё нет: DB_SEARCH_PATH: ${DB_SEARCH_PATH}
DB_SCHEMA: ${DB_SCHEMA}
Добавьте в /etc/ringo/.env строки, если их нет:
DB_SEARCH_PATH=public,ext
DB_SCHEMA=public
Если в базе данных используется другая схема, укажите её имя вместо public.
cd /etc/ringo
docker-compose.yml:docker compose pull
backend, не затрагивая остальные сервисы:docker compose up --force-recreate --no-deps --build -d backend
roll-deploy-backend в статусе Up:docker ps --filter name=roll-deploy-backend
Подготовьте hostInfo.json и настройте передачу этого файла и docker-compose.yml в backend по инструкции «Информация о системе». Эти файлы нужны для отображения сведений о сервере и конфигурации в разделе Настройки → Информация о системе.
Выполняйте команды на сервере Ринго под учётной записью root.
Перейдите в каталог установки:
cd /etc/ringo
Установите максимальный размер тела запроса в nginx равным 5 МБ:
echo "client_max_body_size 5m;" >> ringo-proxy-settings.conf
Если используется контейнер nginx-proxy, скопируйте файл в контейнер и перезапустите его. Если имя контейнера отличается от ringo-nginx-proxy-1, замените его в командах:
docker cp ringo-proxy-settings.conf ringo-nginx-proxy-1:/etc/nginx/conf.d/ringo-proxy-settings.conf
docker container restart ringo-nginx-proxy-1
Если используется собственный nginx, добавьте client_max_body_size 5m; в его конфигурацию и перезапустите службу:
systemctl restart nginx
В Ринго 3.1 появилась новая версия приложения Self Service 2.0 для macOS, Windows и Linux.
Прежний клиент Self Service для macOS продолжает работать с Ринго 3.1. Новый клиент требует сервер версии 3.1 или новее и не работает с более ранними версиями Ринго. Сначала обновите сервер, затем установите Self Service 2.0 на устройства.
Выбор установщика и порядок установки описаны на странице Установка Self Service.
Если после обновления в логах backend появляется invalid_build_id, настройте совместимость со старой сборкой агента по инструкции ниже.
docker logs roll-deploy-backend 2>&1 | grep invalid_build_id | tail -20
/tmp/ringo.log у старых сборок и /Library/Logs/com.ringo.agent/ у новых:sudo grep -ri 'Build id' /tmp/ringo.log /Library/Logs/com.ringo.agent/ 2>/dev/null | tail -5
/etc/ringo/.env. В примере замените 74c1b57 на идентификатор вашей сборки. Несколько значений перечислите через запятую без пробелов:COMPATIBLE_AGENT_BUILD_IDS=74c1b57
environment сервиса backend в docker-compose.yml добавьте: COMPATIBLE_AGENT_BUILD_IDS: ${COMPATIBLE_AGENT_BUILD_IDS}
cd /etc/ringo
docker compose up -d backend
docker exec roll-deploy-backend printenv COMPATIBLE_AGENT_BUILD_IDS
Вывод команды должен совпадать со значением в .env. После применения настройки записи invalid_build_id для этой сборки должны прекратиться. Запись outdated_build_id допустима: агент работает, но его сборка устарела.
На macOS сервер пробует поставить обновление агента при подключении. Пока совместимый агент остаётся подключённым, новых попыток нет. Перезапуск создаёт новое подключение, но не обходит проверку незавершённой команды и интервала 6 часов между запросами. Условия повторных попыток описаны в разделе Как обновляется агент.
cr.ringomdm.ru (шаг 3).docker-compose.yml указан путь cr.ringomdm.ru/releases/ringo:<тег_версии>. Вместо <тег_версии> укажите тег, который предоставила поддержка.hostInfo.json и docker-compose.yml в backend по инструкции «Информация о системе».client_max_body_size 5m; (см. «Лимит размера тела запроса»).Проверено на Ринго 3.1, ноябрь 2026. Тексты ошибок — Справочник ошибок, термины — Термины.