.env и openclaw.json, запуска и проверки до интеграции с CI (например GitHub Actions или вызов скриптов). Цель — стабильный узел для предзагрузки зависимостей и вызова моделей из пайплайнов. Ниже — таблица требований к окружению, пошаговые команды развёртывания, настройка шлюза и моделей, вызов из CI и раздел по типичным сбоям.
Предусловия и окружение
На удалённом Mac должны быть установлены Docker и достаточные ресурсы. Рекомендуемые минимумы:
| Параметр | Требование |
|---|---|
| ОС | macOS 12+ (Monterey и новее). Apple Silicon или Intel. |
| Docker | Docker Desktop или Docker Engine с Compose v2. Проверка: docker --version, docker compose version. |
| Память | Не менее 8 ГБ ОЗУ для хоста; 16 ГБ предпочтительно при совместной работе OpenClaw и других задач CI. |
| Диск | 20 ГБ свободного места под образы и тома; больше при кешировании моделей или тяжёлых зависимостей. |
Опционально: Git для клонирования репозитория; доступ по SSH или VNC к Mac для удалённой настройки.
Шаги развёртывания Docker
Выполняйте шаги по порядку для воспроизводимого развёртывания.
Клонирование репозитория. Клонируйте репозиторий OpenClaw (или контекст сборки образа) на Mac. Пример: git clone https://github.com/your-org/openclaw.git && cd openclaw. Используйте тег или коммит, который планируете запускать в CI.
Запуск docker-setup (если есть). Во многих проектах есть скрипт docker-setup или setup.sh. Запустите его из корня репозитория: ./docker-setup или bash docker-setup. Обычно он подтягивает базовые образы и может создавать сети и тома.
Настройка .env. Скопируйте .env.example в .env и задайте переменные (API-ключи, URL шлюза, имена моделей, порты). Секреты не храните в репозитории.
Настройка openclaw.json. Укажите эндпоинты моделей, таймауты и опции шлюза под ваше окружение. Путь обычно в каталоге конфигурации проекта или задаётся через переменные окружения.
Запуск и проверка. Выполните docker compose up -d (или docker-compose up -d). Затем вызовите health/status эндпоинт или выполните минимальную задачу (например openclaw status или openclaw doctor, если доступны), чтобы убедиться, что сервис поднят.
Шлюз и конфигурация моделей
В .env задайте базовый URL шлюза и при необходимости API-ключи. В openclaw.json укажите идентификаторы моделей, провайдеров и таймауты, чтобы OpenClaw мог обращаться к вашему LLM или шлюзу. Типичные параметры:
- URL шлюза (например
OPENCLAW_GATEWAY_URLили аналог). - Имя или ID модели для запросов.
- Параметры повторов и таймаутов, чтобы избежать падения джоб CI при временных сбоях.
Убедитесь, что контейнер может достучаться до шлюза (внутренняя сеть или localhost в зависимости от развёртывания). После правок перезапустите стек: docker compose down && docker compose up -d. Повторно выполните проверку.
Вызов OpenClaw в CI
Когда OpenClaw запущен на удалённом Mac, CI может вызывать его по HTTP или через CLI.
- GitHub Actions: добавьте джобу, которая по SSH подключается к Mac (или использует self-hosted runner на этом Mac). В джобе выполните
openclawилиcurlк API OpenClaw. Хост и учётные данные Mac храните в GitHub Secrets. - Скрипты: с любого раннера, имеющего доступ к Mac, запустите скрипт, вызывающий
openclawили API (напримерcurl -X POST .../run). Используйте те же.envили переменные окружения для эндпоинта и ключей.
Типичная схема: checkout репозитория → установка зависимостей (или образ с клиентом OpenClaw) → вызов OpenClaw для предзагрузки или задачи → сборка/тесты. Так загрузка зависимостей и доступ к моделям остаются стабильными и повторяемыми. Для self-hosted runner установите OpenClaw CLI на Mac и укажите URL сервиса в Docker.
Типичные ошибки и устранение
Частые проблемы и быстрые проверки:
- Контейнер падает или «out of memory»: увеличьте лимит памяти Docker или ОЗУ хоста; уменьшите число параллельных воркеров в конфиге.
- Connection refused к шлюзу/модели: проверьте, что в
.envиopenclaw.jsonуказаны верный URL и порт; убедитесь, что шлюз/сервис запущен и доступен из сети контейнера. - Таймаут джобы CI при вызове OpenClaw: увеличьте таймаут джобы; добавьте повторы на стороне клиента или опции повтора OpenClaw; проверьте задержку до Mac и сети.
- Ошибки прав или путей: проверьте владельца томов и bind mount; при необходимости запускайте docker-setup от того же пользователя, что и CI.
- Образ не собирается или не найден: проверьте наличие
Dockerfileи контекст сборки; при использовании приватного реестра выполнитеdocker loginпередdocker compose pull.
Итог и следующие шаги
Итог: воспроизводимая цепочка — предусловия (Mac, Docker, память/диск) → клонирование и docker-setup → .env и openclaw.json → запуск и проверка → интеграция с CI (GitHub Actions или скрипты). Для стабильной работы OpenClaw и CI без общего ноутбука и без spot-инстансов рассмотрите аренду выделенного удалённого Mac (например Mac Mini M4) с SSH/VNC: фиксированное окружение и предсказуемая производительность. Смотрите наши тарифы, главную и оформление аренды (без входа), а также другие гайды в блоге.
Запускайте OpenClaw и CI на выделенном удалённом Mac
Арендуйте Mac Mini M4 для стабильной работы OpenClaw и CI. SSH/VNC включены. Тарифы и оформление аренды — без входа. Или читайте другие статьи в нашем блоге.