Если вы запускаете OpenClaw только с Docker на headless Linux VPS—без рабочего стола и браузера—и упираетесь в мастер или onboard, застрявшие в pending, логи с просьбой открыть локальный браузер или dashboard, падающий без DISPLAY, эта статья даёт готовую к тикету лестницу приёмки для headless: зафиксируйте один compose-трек и один источник истины TOKEN, затем замените «я видел Control UI» на dashboard --no-open, gateway status/probe и структурированные логи. Дополняет гайд установки для трёх ОС, triage Windows Docker, Linux systemd+Tunnel без Docker и Compose pairing 1006/1008; производственные якоря стыкуются с выделенным Gateway через SSH LocalForward.
pending.json и переменные окружения—случайный pending или дрейф TOKEN (та же причина, что в статье про Compose pairing).Ценность headless — меньшая атакуемая поверхность и сильнее автоматизация; если приёмка всё ещё зависит от клика в браузере, вы лишь перенесли хаос десктопа в SSH. Читая runbook Docker для продакшена, держите тег образа, хеш compose и инъекцию TOKEN на одном тикете.
Если команда ведёт и bare metal systemd, и Docker, задокументируйте истину по умолчанию: какой путь для CI-образов и какой для продакшена—смешанные хосты отлаживаются тяжелее всего.
| Измерение | Headless Docker (эта статья) | Linux systemd + Tunnel (без контейнеров) |
|---|---|---|
| Воспроизводимость и апгрейды | Теги образов и compose быстро версионируются, откат прост | Зависит от пакетов дистрибутива и unit-файлов; глубже кастом, слабее «история образа» |
| Приёмка headless | Естественно сочетается с --no-open и лог-драйверами контейнера |
journald и curl-пробы; пути другие, чем у Docker |
| Сетевые пространства имён | 1006/1008 часто связаны с комбинациями bridge / publish | Стек хоста; проблемы чаще на Tunnel и bind |
| С выделенным удалённым Mac | Gateway можно перенести на выделенный хост; ноутбук остаётся только с CLI | Тот же вывод; отличаются привычки эксплуатации |
| Типичное неправильное использование | Разветвления compose CI/prod без меток | Держать в голове два Gateway на одной коробке: Tunnel и Docker |
Заметка: Советы сообщества ставить silent true в pending.json, чтобы пропускать блокирующие мастера, нужно сверять с актуальной документацией OpenClaw, прежде чем вшивать это в пайплайны; после апгрейдов снова прогоняйте регрессию, чтобы silent не превратился в тихий зависон.
docker info, свободное место у корня данных Docker, ulimit -n; крошечным VPS стоит добавить swap или ограничить параллелизм до включения фич.openclaw gateway status → openclaw gateway probe (если есть) → openclaw dashboard --no-open; запретите единственный сигнал успеха «увидел в браузере».# Пример: проверки только через CLI (имена сервисов compose подстройте) docker compose ps docker compose logs -f --tail=200 openclaw-gateway openclaw gateway status || true openclaw dashboard --no-open || true openclaw doctor --yes || true
compose up -d до первой успешной gateway probe; если неделя к неделе рост >40% при тех же тегах образов, смотрите диск и fds до обвинений моделей.DISPLAY возвращайте в продукт или dev-only-профиль compose.Лёгкие десктопы расширяют поверхность патчей и стоимость аудита сессий; публичный VNC — классический высокорисковый паттерн. Бесконечные повторы onboard прячут дрейф полей в мышечной памяти, а не в автоматизации.
Когда нужен 7×24 аудируемый Gateway, согласованный с CI, а headless Linux остаётся лучше для краевых проб или коротких PoC, размещение авторитетного Gateway на выделенном удалённом Apple Silicon Mac с документированным SSH-forward или политикой tailnet обычно выигрывает у борьбы с cgroup на маленьких VPS—MACCOME предлагает Mac mini (M4 / M4 Pro) в шести регионах с гибкой арендой; оцените топологию по публичному гайду по узлам и аренде до решения.
Отдавайте: версию compose, digest образа, политику silent/pending, образцы вывода CLI, явную формулировку «браузер не нужен». Любой шаг, который не воспроизвести на второй headless-коробке, — незавершённая документация.
Сравнивая с triage Windows Docker, помните: та же лестница, другой хост и engine; не смешивайте пути логов Docker Desktop и Linux engine.
FAQ
Onboard остаётся в pending на headless-сервере—нужен ли рабочий стол?
Обычно нет: используйте headless-переключатели и CLI-приёмку; поля pending.json сверяйте с докой. Для продакшен-Gateway на выделенных узлах см. цены аренды Mac mini и снова цены аренды Mac mini для тарифов.
Могут ли Linux Docker и systemd+Tunnel делить одну машину?
Технически да, но без разделения сред часто возникает двойной Gateway / двойная истина TOKEN. Зафиксируйте значение по умолчанию. См. runbook Tunnel и статью про Compose pairing.