OpenClaw v2026.3.22 на удалённом Mac:
Docker Compose, ClawHub, две дорожки npm и sandbox Gateway/exec в пяти регионах

Редакция kvmmac 2026-04-30 9 мин

Введение

OpenClaw v2026.3.22 смещает акцент на изоляцию: на удалённом Mac рядом живут хост, compose и ClawHub, а gateway и exec — в песочнице. Частая ошибка — смешать глобальный npm с образом и получить рассинхрон нативных модулей и рост слоёв Docker на 256 ГБ там, где экономят на CPU, но платят за IOPS и inode.

Ниже — две дорожки, изолированный docker compose, ClawHub и кейсы на слабом классе и на M4 Pro с 1–2 ТБ, когда агенты и CI делят один NVMe.

Две дорожки: «голый» npm на хосте и контейнер

Хост оставьте для gateway, локальных сокетов, интеграции с launchd и быстрых утилит: один пин Node, один префикс глобального npm, отдельный пользователь сервиса и запрет на случайный sudo npm в runbook. Контейнер используйте для тяжёлых skill-пайплайнов, сборок и всего, что тянет транзитивные зависимости: фиксируйте digest образа, монтируйте только нужные тома и не пробрасывайте домашний каталог администратора внутрь без read-only флага.

После миграции на v2026.3.22 проверьте один плагин на хосте и в compose с одинаковыми переменными; расхождение пути к конфигу на один сегмент даёт класс багов «в контейнере работает — шлюз не видит». Ведите таблицу «сервис → том → порт loopback».

Правило разделения: всё, что может исполнить произвольную команду по запросу агента, по умолчанию живёт за compose-границей; gateway остаётся тонким и читает только договорённые сокеты и файлы.

Docker Compose как изоляция на удалённом Mac

Задайте явное имя проекта (COMPOSE_PROJECT_NAME), отдельную user-defined сеть и квоту лог-драйвера: на слабом узле первым симптомом перегруза становится не CPU, а запись json-логов в ~/Library/Containers и слои overlay. Держите каталог проекта вне системного тома с малым свободным местом, если провайдер выделяет отдельный data-volume — переносите туда var/lib/docker по их инструкции, а не «вручную копируя» во время работы демона.

Один репозиторий compose с профилями edge-low и pro-storage: лимиты на слабых узлах и отдельные тома под кэш и артефакты ClawHub на Pro. Обновляйте OpenClaw и образ канареей, затем rolling по регионам.

Риск
Не обновляйте Docker Desktop и OpenClaw в одну ночь: при дрейфе виртуализации и сетевого стека симптомы «не коннектится к gateway» будут неуникальны, а журналы разнесены по двум подсистемам.

ClawHub: установка плагинов под обе дорожки

ClawHub: фиксируйте версию в реестре артефактов; на хосте — npm pack или подписанный feed, в compose — отдельный кэшируемый слой без секретов. Прогон после установки: метаданные, холодный skill, запись в том, очистка temp — на 256 ГБ inode уходит быстрее байтов.

Нативная сборка: не смешивайте Xcode CLI на хосте и llvm в образе; эталонный образ с digest в CI.

Gateway и exec: песочница и корреляция с compose

Gateway на 127.0.0.1, наружу — туннель или mTLS; exec должен явно различать хост и именованный контейнер. Корреляционный ID в логах compose даёт цепочку «канал → gateway → skill» без тройного grep.

Классы команд: чтение без approve, сборка с тайм-аутом, сеть и удаление — только после подтверждения; так вы избегаете гонки rm на хосте с обновлением тома артефактов. Подробнее: каналы, стабильный gateway, skills и doctor на удалённом Mac

Пять регионов: низкий класс, M4 Pro и диск 1–2 ТБ — кейсы

Кейс 1. Во всех пяти регионах на узлах начального класса после включения второго агента резко выросла задержка ответа gateway. Диагностика: не сеть и не CPU, а дисковая очередь из-за параллельных записей логов и кэша npm внутри контейнера. Мера: профиль compose с лимитом размера логов, перенос кэша на отдельный том, отключение лишних sidecar; при повторении — апгрейд до 1 ТБ вместо второго «лёгкого» узла.

Кейс 2. M4 Pro, 2 ТБ: CI плюс два канала — редкие тайм-ауты exec без ошибок в gateway из-за IOPS между overlay и DerivedData; вынесите тома и сдвиньте окно CI. Кейс 3. Плагин обновили только на хосте — контейнерные skill звали старый API; лечится синхронной выкладкой и прогоном из runbook.

Сводная модель аренды и диска для распределённой команды удобно читается вместе с бюджетом параллели слотов — иначе легко купить «много регионов», но один и тот же класс диска останется узким местом. См. также: срок аренды, диск 1–2 ТБ и параллель команды в пяти регионах

Часто задаваемые вопросы

В:Можно ли держать и хостовый npm, и compose на одном пользователе?
О:Технически да, но для прода лучше разделить системного пользователя сервиса и разработческий аккаунт; иначе права на ~/.npm и сокеты gateway начнут путаться при обновлениях.
В:Как понять, что пора с 1 ТБ на 2 ТБ, если CPU ещё не загружен?
О:Если p95 дисковой задержки растёт при стабильной нагрузке и свободное место уходит в основном на логи, слои образов и кэши сборок две недели подряд — дисковый апгрейд дешевле, чем борьба с троттлингом IOPS.
В:Нужен ли отдельный профиль compose на каждый из пяти регионов?
О:Достаточно одного репозитория с параметризацией лимитов и имён томов; отличия региона проявляются в сетевом RTT и политике провайдера по путям данных, а не в семантике сервисов.

Почему этот контур логичнее всего строить на Mac mini и macOS

Compose, gateway и ClawHub — долгие процессы и чувствительные пути. На macOS — предсказуемый Unix-стек и Docker без WSL; Gatekeeper, SIP и FileVault сужают угрозы по сравнению с типичной Windows-станцией. Apple Silicon на Mac mini M4 и M4 Pro даёт высокую производительность на ватт и простой шлюза порядка нескольких ватт при круглосуточной работе.

TCO выигрывает за счёт компактного корпуса, тишины и редких перезагрузок. Чтобы повторить сценарий без споров с железом при обновлениях, Mac mini M4 — удачная отправная точка; откройте главную kvmmac и подберите диск 1–2 ТБ под параллель и регион.

Заключение

Выигрывает команда с разделением npm и compose, синхронной выкладкой ClawHub и простой политикой gateway/exec вместо длинного sudoers.

Растущий пул удалённых Mac быстрее выровнять арендой однородных узлов с предсказуемым диском под Docker и CI.

MAC CLOUD · KVMMAC

Mac в облаке: сразу работает, плата по факту нагрузки

Без ожидания железа и таможни. Развёртывание за секунды–минуты, почасовая/помесячная модель, площадки с нормальным пирингом под ваш регион.

Запустить среду На главную
Получить сейчас