Неизменяемые теги · Дисциплина Compose · Смок до трафика · Откат для Gateway
Соло-админы и небольшие команды на VPS часто видят неожиданные апгрейды, потому что :latest ночью подтянул новую Gateway. Статья объясняет, почему плавающие теги ломают воспроизводимость, как зафиксировать semver или digest в Compose и Kubernetes, что сохранить перед сменой образа, как прогнать двойной инстанс-смок в тихое окно и как выглядит откат в shell: вернуть предыдущий тег и перепроверить health и каналы. Перекрёстное чтение: устойчивые обновления, установка VPS Docker, Exit 137 и окно WASM, разбор Gateway doctor.
:latest подрывает production OpenClawПлавающие теги скрывают три вида дрейфа: бинарный интерфейс Gateway, от которого зависят Skills, схему плагинов или каналов для колбэков и базовые библиотеки контейнера вокруг Node. Тянуть «всегда новейшее» превращает инциденты в угадайку: два хоста редко получают одинаковые слои в разное время. Страдают постмортемы и доверие коллег с IM или webhook.
| Слой | Что меняется под :latest | Первый симптом |
|---|---|---|
| API Gateway | Флаги CLI, схема конфигурации, маршруты Control UI | Skills падают на валидации после незапланированного рестарта |
| Каналы | Тайминг webhook-handshake, дефолты Discord intents | Тихая потеря сообщений, пока кто-то не увидит очередь |
| Стек runtime | Патч-уровень Node, совместимость libc | Первый запуск WASM или нативных deps даёт всплеск CPU или OOM |
Production OpenClaw — это образы, которые можно назвать дважды: один раз в Git и один раз на хосте — digest опционален, но сознательно выбран.
Заметка: кластерные переключения без простоя — в DR и апгрейдах без простоя; эта страница про одну или две стопки Compose на VPS.
На среду выберите одну неизменяемую ссылку: либо протестированный релиз-тег (v2026.4.2), либо digest, если нужна побайтовая идентичность между регионами. Храните эту строку рядом с compose и дублируйте в инцидент-тикетах.
services:
openclaw:
image: ghcr.io/openclaw/openclaw:v2026.4.2
pull_policy: missing
pull_policy: missing или фиксируйте digest, если автоматизация не должна менять работающие контейнеры.Внимание: править только openclaw.json, пока образ тихо уходит вперёд, всё равно неконтролируемый апгрейд — фиксируйте ревизию конфига и ссылку на образ в одном change-тикете.
Перед любым docker compose pull зафиксируйте охват, чтобы откат знал, что значило «хорошо».
Том конфигурации: снимок ~/.openclaw или смонтированного пути; контрольная сумма списка файлов, если поддерживает бэкап.
Workspace: каталоги Skills и секреты вне тома, которые compose подключает через env_file.
Каналы: экспорт URL webhook и проверка, что окна доступности совпадают с сообщениями о работах.
Список смока: два Skills и пара отправка-приём по каналу до прод-трафика.
Ресурсы: запас памяти под первый компиляционный пик — см. статью Exit 137.
Кандидатный образ запускайте как второе имя проекта или альтернативный compose на непродакшен-портах. Трафик переключайте только после успешного смока.
| Сигнал | Где смотреть | Критерий успеха |
|---|---|---|
| Health Gateway | curl loopback health | HTTP 200 стабильно на нескольких пробах |
| Статус каналов | Логи Gateway или статус CLI | Нет шторма переподключений; колбэки подтверждены |
| Аудит Skills | Вывод runner Skills | Нет новых deny-правил относительно ожиданий staging |
| Control UI | Браузер к закреплённому origin | После правил прокси нет mismatch не-loopback |
Держите окно промо коротким; долгие пересечения усиливают дрейф баз или очередей, к которым подключается Gateway.
Откат — отрепетированный сценарий, не импровизация. Замените ссылку на образ на последний проверенный тег, явно сделайте pull, пересоздайте контейнеры, затем докажите health до объявления восстановления.
export OPENCLAW_IMAGE_TAG="v2026.4.1" docker compose pull openclaw docker compose up -d --force-recreate openclaw curl -sf http://127.0.0.1:18789/health
Если рядом с VPS-стеком идут нагрузки, зависящие от macOS, разделяйте доступность Gateway и пулы компиляции, чтобы споры об откате оставались в рамках. Для выделенной удалённой Mac-мощности с более ясными границами, чем домашнее железо, см. цены аренды Mac Mini и оформление заказа вместе с этой дисциплиной Gateway.
Материал об устойчивых обновлениях охватывает каналы, ритм обновлений и бэкапы между средами. Эта статья уже про фиксацию образов Docker, staging-смок и команды отката для VPS.
Для большинства команд — проверенные semver-теги; к digest переходите при требованиях регулятора или побайтовой паритетности между регионами. В любом случае запись рядом с compose в Git.
Первый запуск и размеры — в установке OpenClaw v2026.4 VPS Docker; пики памяти при апгрейдах пересекаются с Exit 137 и окном WASM.