Готово за 5 минут

Перенесите тяжёлые сборки Xcode
на облачный M4

$21.2 / день · выделенное железо
Арендовать
16 ГБ объединённой памяти SSH / VNC

2026: развёртывание OpenClaw на Mac mini — Docker или нативно?

Руководство поможет выбрать между нативной установкой OpenClaw и Docker на Mac mini для постоянной работы AI Agent. В статье разобраны сохранение данных, запуск после перезагрузки, удалённый доступ, типовые ошибки и перенос конфигурации на облачный Mac.

18789 — всего один порт, но почему вокруг него столько решений?

Порт 18789 выглядит как небольшая техническая деталь, однако именно через него OpenClaw объединяет Web UI, WebSocket-соединения, управление сессиями, каналы сообщений и часть API. По умолчанию Gateway использует локальный режим привязки, а при удалённом доступе появляются дополнительные требования к авторизации, сетевым интерфейсам и сохранению конфигурации. (docs.openclaw.ai)

Поэтому развёртывание OpenClaw на Mac mini — это не только команда установки. Вам нужно заранее решить, где будут лежать рабочие файлы, как агент переживёт перезагрузку, каким способом вы будете обновлять контейнер или пакет и что произойдёт при повреждении конфигурации.

Ниже вы получите не универсальный совет «используйте Docker», а практическую схему выбора между нативным запуском и контейнером. Она подходит для личного AI Agent, небольшого проекта и постоянного фонового процесса, который должен работать без открытого терминала.

Почему Mac mini подходит для постоянного AI Agent?

OpenClaw рассчитан на работу через постоянно запущенный Gateway. Один процесс может обслуживать каналы сообщений, Web UI, сессии, HTTP-интерфейсы и подключённые инструменты. Такой режим отличается от обычного локального скрипта: остановка процесса означает потерю соединения с каналами и недоступность панели управления. (docs.openclaw.ai)

Mac mini удобен в роли постоянного хоста по трём причинам:

  • он может работать без монитора и клавиатуры;
  • macOS предоставляет нативные разрешения для локальных файлов, уведомлений и других системных функций;
  • отдельная машина не конкурирует с вашим рабочим ноутбуком за порты, память и фоновые процессы.

Но у постоянного размещения есть скрытые издержки.

Во-первых, доступ к файлам macOS не равен доступу из Docker. Процесс внутри контейнера видит только смонтированные каталоги, а 127.0.0.1 внутри контейнера указывает на сам контейнер, а не на хост Mac. Если локальная модель работает на хосте через Ollama или LM Studio, контейнеру потребуется адрес host.docker.internal. (docs.openclaw.ai)

Во-вторых, перезагрузка не гарантирует автоматическое восстановление агента. Терминал с запущенной командой не является системой управления сервисом. Для нативной установки лучше использовать встроенный сервис Gateway и launchd, а для Docker — политику restart: unless-stopped. Docker указывает, что такая политика перезапускает контейнер после остановки, пока он не был остановлен вручную. (docs.docker.com)

В-третьих, секреты и состояние OpenClaw нельзя считать временными файлами. Конфигурация, токены, профили каналов, рабочая область и память агента должны сохраняться отдельно от образа контейнера или временного процесса. При пересоздании контейнера смонтированные тома сохраняются, но данные, записанные только в файловую систему контейнера, могут исчезнуть. (docs.docker.com)

OpenClaw: нативная установка или Docker — что важнее именно вам?

Выбирайте нативный запуск, если OpenClaw должен активно взаимодействовать с macOS: читать локальные каталоги, использовать системные разрешения, работать рядом с приложениями и подключаться к сервисам, уже запущенным на Mac mini.

Docker рациональнее, если для вас важнее изоляция, воспроизводимость и возможность быстро удалить или пересоздать окружение. Официальная документация OpenClaw прямо описывает контейнер как вариант для изолированного временного Gateway или хоста, где не требуется локальная установка. При разработке на собственной машине документация рекомендует обычный путь установки. (docs.openclaw.ai)

Критерий Нативная установка Docker Compose
Первый запуск Проще для пользователя macOS Требует Docker Desktop и Compose v2
Доступ к macOS Максимально прямой Только через разрешённые mount-пути
Изоляция Ниже Выше, процесс запускается в контейнере
Обновление Быстрее, но возможны конфликты зависимостей Проще откатить образ, но нужно контролировать тома
Локальные модели на Mac Подключаются через 127.0.0.1 Обычно через host.docker.internal
Автозапуск launchd или сервис OpenClaw restart: unless-stopped плюс запуск Docker
Отладка Удобнее видеть системные права и процессы Удобнее анализировать логи контейнера
Лучший сценарий Личный Mac-агент с доступом к системе Изолированный Gateway и повторяемые окружения

Кому не стоит начинать с Docker?

Если вы впервые настраиваете OpenClaw и ещё не знаете, какие каталоги, каналы и локальные инструменты будут нужны, нативная установка обычно снижает количество переменных. Сначала вы проверяете сам агент, авторизацию и сценарии работы, а уже затем при необходимости переносите его в контейнер.

Docker имеет смысл с первого дня, когда проект должен быть воспроизводимым: например, один и тот же Compose-файл используется на тестовом Mac mini, резервной машине и удалённом хосте.

А когда нативная установка становится неудобной?

Проблемы начинаются, если на Mac mini одновременно живут несколько проектов, меняются версии Node, появляются разные профили OpenClaw или требуется строго отделить рабочие каталоги. В таком случае контейнер уменьшает вероятность конфликта зависимостей и упрощает повторный запуск.

Как выполнить нативную установку на Mac mini?

Перед установкой создайте отдельную учётную запись macOS для агента, если OpenClaw будет иметь доступ к чувствительным файлам. Не используйте повседневную административную учётную запись без необходимости.

Шаг 1. Проверьте базовую среду

Убедитесь, что на Mac mini есть доступ к терминалу, актуальный Node.js и отдельный каталог для рабочего состояния. В официальной документации OpenClaw Node указан как рекомендуемый runtime для Gateway. Для macOS-приложения предусмотрен локальный режим «This Mac», в котором приложение устанавливает соответствующий CLI и запускает Gateway. (docs.openclaw.ai)

Шаг 2. Запустите установку

Для быстрого сценария используется команда:

curl -fsSL https://openclaw.ai/install.sh | bash

После установки проверьте, что CLI доступен:

openclaw --version

Если вы хотите использовать конкретную версию, зафиксируйте её через пакетный менеджер, а не оставляйте рабочую систему полностью зависимой от плавающего обновления.

Шаг 3. Выполните начальную настройку

Запустите локальный режим:

openclaw onboard --mode local

На этом этапе задаются параметры Gateway, провайдер модели и токен доступа. OpenClaw по умолчанию использует авторизацию даже для локального интерфейса: это защищает Gateway от запросов других локальных процессов. Стабильный токен можно задать через gateway.auth.token или переменную OPENCLAW_GATEWAY_TOKEN. (docs.openclaw.ai)

Шаг 4. Проверьте Web UI и состояние процесса

Откройте в браузере:

http://127.0.0.1:18789/

Затем выполните:

openclaw gateway status
openclaw gateway health --port 18789

Команда health проверяет доступность Gateway, а status помогает понять, какой профиль и конфигурация используются. OpenClaw также разделяет простую проверку доступности и проверку готовности каналов. (docs.openclaw.ai)

Шаг 5. Настройте запуск после перезагрузки

Для нативного сценария используйте установку сервиса:

openclaw gateway install

Если конфигурация менялась после установки сервиса, примените исправление:

openclaw doctor
openclaw gateway install --force

В macOS такой сервис работает через launchd. Не смешивайте несколько механизмов автозапуска: например, launchd, PM2 и ручной запуск в терминале одновременно. Иначе два процесса могут занять один и тот же порт.

Шаг 6. Проверьте рабочую область и секреты

В стандартной конфигурации важными объектами являются:

~/.openclaw/openclaw.json
~/.openclaw/workspace

В рабочей области могут находиться инструкции, навыки, память и файлы агента. Эти каталоги необходимо включить в резервное копирование, но токены лучше хранить с ограниченными правами:

chmod 700 ~/.openclaw
chmod 600 ~/.openclaw/openclaw.json

Перед применением такой команды проверьте, что конфигурация действительно находится по указанному пути и что сервис запускается от того же пользователя.

Как выглядит OpenClaw Docker deployment на практике?

Docker-вариант не сводится к запуску одного образа. Вам нужно сохранить состояние, настроить сеть и определить, как контейнер будет обновляться.

Официальный путь использует Docker Desktop или Docker Engine вместе с Docker Compose v2. Для локальной сборки OpenClaw документация указывает минимум 2 ГБ оперативной памяти на этапе сборки; при меньшем объёме сборка может завершиться ошибкой нехватки памяти. Это именно требование процесса сборки, а не универсальная рекомендация по памяти для всех рабочих нагрузок агента. (docs.openclaw.ai)

Шаг 1. Установите Docker Desktop

Проверьте версии:

docker --version
docker compose version

Если Compose не отвечает, сначала исправьте среду Docker, а не пытайтесь диагностировать OpenClaw.

Шаг 2. Подготовьте каталог проекта

Создайте отдельный каталог:

mkdir -p ~/openclaw-docker
cd ~/openclaw-docker

Используйте официальный репозиторий и сценарий настройки OpenClaw, а не случайный образ из непроверенного зеркала. В документации основным реестром для релизной автоматизации указан GitHub Container Registry, а Docker Hub описан как официальный mirror. (docs.openclaw.ai)

Шаг 3. Выполните настройку контейнера

Официальный сценарий выглядит так:

./scripts/docker/setup.sh

Во время настройки создаются параметры среды, токен Gateway и конфигурация Compose. Для ручного сценария применяются команды docker compose run и docker compose up -d openclaw-gateway. Подробная последовательность приведена в официальной документации OpenClaw по Docker.

Шаг 4. Сохраните состояние через том

Минимально вам нужно сохранять каталог конфигурации и рабочую область. Если используются CLI-инструменты или авторизация внутри контейнера, может потребоваться отдельный постоянный том /home/node. Официальная документация предупреждает, что сохранение только ~/.openclaw недостаточно для некоторых CLI-сценариев: бинарные файлы, настройки и авторизация могут находиться в других каталогах домашней директории пользователя контейнера. (docs.openclaw.ai)

Шаг 5. Настройте сеть и привязку

В контейнере 127.0.0.1 указывает на контейнер. Поэтому стандартная loopback-привязка может сделать Gateway недоступным через опубликованный порт. Официальная конфигурация OpenClaw предлагает использовать сетевой режим host или привязку lan для контейнерного сценария. При этом открывать сервис в публичную сеть без авторизации нельзя. (docs.openclaw.ai)

Шаг 6. Добавьте автоматический перезапуск

В Compose:

services:
  openclaw-gateway:
    restart: unless-stopped

После изменения файла используйте:

docker compose up -d
docker compose ps
docker compose logs --tail=100 openclaw-gateway

Важно: docker compose restart не применяет новые переменные окружения или изменения конфигурации сервиса. Для таких изменений нужно повторно выполнить docker compose up, чтобы Compose пересоздал контейнер при необходимости. (docs.docker.com)

Как настроить удалённый доступ без лишнего риска?

Для локального использования оставляйте:

{
  "gateway": {
    "bind": "loopback",
    "auth": {
      "mode": "token"
    }
  }
}

Если нужен доступ с другого устройства, один из аккуратных вариантов — Tailscale. В OpenClaw предусмотрен режим tailnet, который ограничивает доступ интерфейсом Tailnet, сохраняя локальный listener для самого хоста. Для публикации через Tailscale Serve или Funnel также применяются отдельные требования к режиму привязки и авторизации. (docs.openclaw.ai)

Не подменяйте безопасный удалённый доступ публикацией 0.0.0.0 на домашнем роутере. Даже при наличии токена нужно проверить:

  1. включён ли режим авторизации;
  2. не попал ли токен в историю shell или Git;
  3. ограничены ли разрешённые origins для Control UI;
  4. доступен ли порт только через Tailnet или защищённый reverse proxy;
  5. не смонтирован ли в контейнер весь домашний каталог без необходимости.

Можно ли просто открыть http://IP-машины:18789?
Технически это возможно при привязке lan, но такой путь увеличивает поверхность атаки. Для non-loopback-привязки OpenClaw требует token, password или доверенный proxy. Если вы не можете объяснить, кто имеет доступ к этому IP и порту, не используйте прямую публикацию. (docs.openclaw.ai)

Нужен ли PM2, если уже есть launchd или Docker restart policy?
Обычно нет. PM2 может быть удобен для Node-проектов, но для Gateway он создаёт ещё один слой управления. Выберите один механизм: launchd для нативной установки либо Compose с политикой перезапуска для контейнера.

Как диагностировать проблемы после перезагрузки?

Начинайте не с переустановки, а с проверки пяти уровней.

1. Процесс

openclaw gateway status
ps aux | grep openclaw

Для Docker:

docker compose ps
docker compose logs --tail=200 openclaw-gateway

2. Порт

lsof -nP -iTCP:18789 -sTCP:LISTEN

Если порт занят вторым процессом, остановите старый Gateway. Официальная документация OpenClaw отдельно рекомендует проверять listener при зависании статуса запуска. (docs.openclaw.ai)

3. Режим Gateway

openclaw config get gateway.mode
openclaw config get gateway.bind
openclaw config get gateway.auth.mode

Если gateway.mode не установлен в local, процесс может отказаться запускаться. Если используется lan или tailnet, но авторизация не настроена, Gateway также остановит запуск. (docs.openclaw.ai)

4. Данные

Если после пересоздания контейнера исчезли настройки, проверьте, куда смонтированы тома:

docker inspect openclaw-gateway

Частая ошибка — сохранять только образ или временный слой контейнера. Образ описывает окружение, но не заменяет резервную копию рабочей области.

5. Каналы и авторизация

Gateway может отвечать на HTTP-запросы, но каналы при этом оставаться неготовыми. Используйте:

openclaw channels status --probe
openclaw logs --follow

Ошибки unauthorized обычно указывают на неверный токен или неправильный URL, а gateway connect failed — на проблему с адресом назначения или недоступностью Gateway. (docs.openclaw.ai)

Как перенести установку с нативного режима в Docker?

Сначала остановите исходный сервис:

openclaw gateway stop

Затем сделайте архив:

tar -czf openclaw-backup.tar.gz ~/.openclaw

Если использовались CLI-авторизации, отдельно проверьте домашний каталог пользователя и список переменных среды. Не переносите API-ключи в публичный репозиторий или открытый .env.

После запуска Docker:

  1. остановите контейнер;
  2. подключите постоянные тома;
  3. скопируйте конфигурацию и workspace;
  4. проверьте владельца файлов;
  5. запустите контейнер;
  6. откройте Web UI на 127.0.0.1:18789;
  7. выполните openclaw gateway health;
  8. проверьте каналы через openclaw channels status --probe.

Обратная миграция выполняется аналогично: сначала экспортируются данные из томов, затем проверяется совместимость версии и только после этого запускается нативный Gateway. Не обновляйте версию и не меняйте способ запуска одновременно — иначе будет трудно определить причину ошибки.

Какой вариант выбрать для разных сценариев?

Для личного Mac mini с доступом к локальным файлам и системным функциям начните с нативной установки. Она быстрее показывает, какие разрешения действительно нужны агенту.

Для тестовой среды, изолированного проекта или команды, которой нужно одинаковое окружение, выбирайте Docker Compose. Зафиксируйте версию образа, храните Compose-файл в закрытом репозитории и регулярно архивируйте рабочие тома.

Для нескольких независимых агентов используйте отдельные профили, каталоги состояния и порты. Официальная документация OpenClaw рекомендует для таких случаев задавать отдельный OPENCLAW_CONFIG_PATH, OPENCLAW_STATE_DIR, workspace и уникальный порт для каждого профиля. (docs.openclaw.ai)

Если собственного Mac mini пока нет, оцените развёртывание OpenClaw на облачном Mac по тем же критериям: наличие SSH, графического VNC-доступа, выделенного IPv4, пропускной способности, сохранения диска и возможности подключить Tailscale. У SpinMac на странице тарифов для Mac mini и в разделе оформления заказа проверяйте актуальные регионы, циклы аренды и доступные ресурсы непосредственно перед оплатой. В условиях SpinMac заявлены выделенные Mac mini на Apple Silicon, SSH и VNC, выделенный IPv4, пропускная способность до 1 Gbps и варианты ежедневной, недельной, месячной и квартальной аренды; конкретная доступность показывается платформой в момент заказа. (условия аренды SpinMac)

Нативный Mac mini или облачная машина — где меньше долгосрочных проблем?

Домашний Mac mini кажется простым решением, пока не возникают четыре практических ограничения: устройство может быть недоступно из-за перебоя питания, удалённый доступ потребует настройки роутера, обслуживание зависит от человека рядом с машиной, а перенос агента на другую систему придётся выполнять вручную.

Облачный Mac снимает часть этих задач: машина находится в дата-центре, к ней можно подключаться по SSH и VNC, а для удалённой команды не требуется держать домашнюю сеть открытой. Однако вы всё равно отвечаете за токены, рабочую область, правила доступа и резервные копии.

Именно поэтому аренда SpinMac подходит как промежуточный или постоянный вариант для тех, кто хочет быстро проверить OpenClaw, запустить агента для удалённой команды или дождаться появления собственного Mac mini. Вы можете сначала развернуть нативную конфигурацию через SSH, затем перейти на Docker Compose для изоляции и сохранить тот же workspace. Такой подход обычно удобнее, чем покупать отдельное устройство только ради эксперимента, настраивать проброс портов и вручную восстанавливать сервис после каждой аппаратной или сетевой проблемы.

Выделенное железо · за 5 минут

Запустите OpenClaw на удалённом Mac от SpinMac

Если локального Mac mini недостаточно для постоянной работы, выберите удалённый Mac в SpinMac и перенесите конфигурацию OpenClaw без полной переустановки.

SpinMac предоставляет доступ к Mac для нативного запуска OpenClaw, настройки окружения и удалённого администрирования.

$21.2 / день
ЧипApple M4
CPU10 ядер выделено
Память16 ГБ unified
ИИ-вычисления38 TOPS
SLA99.9%
Выдача1–5 мин