Все Insights

Установка OpenClaw через Docker: пошаговая инструкция

Развёртывание OpenClaw в контейнере Docker: docker run, docker-compose, настройка томов, портов и сетей

Aravana··11 мин

Тип материала: research

Поделиться:TelegramXLinkedIn
Как вам материал?

Зачем использовать Docker для OpenClaw

Docker — это инструмент контейнеризации, который позволяет запускать приложения в изолированной среде. Установка OpenClaw через Docker имеет ряд преимуществ перед нативной установкой: вам не нужно устанавливать Node.js и управлять его версиями, приложение работает в изолированном контейнере и не конфликтует с другими программами, развёртывание воспроизводимо на любой ОС, поддерживающей Docker, а обновление сводится к загрузке нового образа.

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

Системные требования для Docker

Для работы OpenClaw через Docker вам потребуется: Docker Engine версии 20.10 или новее (Docker Desktop на macOS, Docker Engine на Linux). Docker Compose версии 2.0 или новее (входит в Docker Desktop и актуальные версии Docker Engine). Минимум 2 ГБ свободной оперативной памяти для контейнера. Около 1 ГБ дискового пространства для образа.

Проверьте, что Docker установлен и работает:

docker --version
docker compose version

Способ 1: быстрый запуск через docker run

Самый быстрый способ попробовать OpenClaw в Docker — использовать готовый образ из GitHub Container Registry:

docker run -it --rm \
  -p 18789:18789 \
  -v openclaw-data:/root/.openclaw \
  ghcr.io/openclaw/openclaw:latest \
  onboard

Разберём эту команду по частям. Флаг -it запускает контейнер в интерактивном режиме с привязкой к терминалу — это необходимо для прохождения мастера настройки. Флаг --rm автоматически удаляет контейнер после завершения. Параметр -p 18789:18789 пробрасывает порт Gateway из контейнера на хост-машину. Параметр -v openclaw-data:/root/.openclaw создаёт именованный Docker-том для хранения конфигурации и данных, которые сохраняются между перезапусками. Команда onboard запускает мастер начальной настройки.

После прохождения онбординга запустите Gateway как фоновую службу:

docker run -d \
  --name openclaw-gateway \
  --restart unless-stopped \
  -p 18789:18789 \
  -v openclaw-data:/root/.openclaw \
  ghcr.io/openclaw/openclaw:latest \
  gateway

Флаг -d запускает контейнер в фоновом режиме. Параметр --name присваивает контейнеру понятное имя. Параметр --restart unless-stopped автоматически перезапускает контейнер после перезагрузки сервера.

Способ 2: Docker Compose (рекомендуемый)

Для продакшн-развёртывания рекомендуется использовать Docker Compose, который позволяет описать конфигурацию в файле и управлять ею декларативно.

Создайте файл docker-compose.yml:

version: '3.8'

services:
  openclaw-gateway:
    image: ghcr.io/openclaw/openclaw:latest
    container_name: openclaw-gateway
    command: gateway --bind lan --port 18789
    restart: unless-stopped
    ports:
      - "${OPENCLAW_GATEWAY_PORT:-18789}:18789"
    volumes:
      - ./openclaw-data:/root/.openclaw
    env_file:
      - .env
    healthcheck:
      test: ["CMD", "curl", "-f", "http://127.0.0.1:18789/healthz"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 15s

  openclaw-cli:
    image: ghcr.io/openclaw/openclaw:latest
    volumes:
      - ./openclaw-data:/root/.openclaw
    env_file:
      - .env
    profiles:
      - cli

В этой конфигурации определены два сервиса: openclaw-gateway — основной сервис, работающий постоянно, и openclaw-cli — вспомогательный сервис для выполнения CLI-команд (онбординг, отправка сообщений и т.д.), который запускается только по запросу через профиль cli.

Создайте файл .env для хранения переменных окружения:

OPENCLAW_GATEWAY_PORT=18789
OPENCLAW_GATEWAY_BIND=lan
# Добавьте API-ключи вашего LLM-провайдера
# ANTHROPIC_API_KEY=sk-ant-...
# OPENAI_API_KEY=sk-...

Первый запуск с Docker Compose

Запустите мастер онбординга через CLI-профиль:

docker compose run --rm openclaw-cli onboard

Мастер проведёт вас через настройку провайдера LLM, генерацию токена Gateway и базовую конфигурацию агента. Все настройки будут сохранены в директорию openclaw-data.

После онбординга запустите Gateway:

docker compose up -d openclaw-gateway

Проверьте, что сервис работает:

docker compose logs openclaw-gateway
curl http://localhost:18789/healthz

Эндпоинт /healthz должен вернуть статус liveness, а /readyz — статус readiness. Если оба отвечают успешно, Gateway запущен и готов к работе.

Сборка образа из исходников

Если вы хотите собрать Docker-образ из исходного кода (например, для внесения изменений), клонируйте репозиторий и используйте встроенный Dockerfile:

git clone https://github.com/openclaw/openclaw.git
cd openclaw
docker build -t openclaw:local -f Dockerfile .

Альтернативно, в репозитории есть скрипт автоматической настройки:

./docker-setup.sh

Скрипт автоматически собирает образ, запускает онбординг и конфигурирует Docker Compose. После его выполнения измените переменную окружения на ваш локальный образ:

export OPENCLAW_IMAGE="openclaw:local"

Настройка сети: доступ к локальным сервисам

Важный нюанс при работе с Docker: контейнер имеет собственную сетевую среду и не может напрямую обращаться к сервисам на хост-машине по адресу localhost. Это актуально, например, при подключении к Ollama, работающему на хосте.

Для доступа к сервисам хост-машины из контейнера используйте специальный DNS-адрес:

host.docker.internal

Например, если Ollama запущен на хосте и слушает порт 11434, в конфигурации OpenClaw внутри контейнера укажите URL:

http://host.docker.internal:11434/v1

На Linux, в зависимости от версии Docker, может потребоваться добавить параметр --add-host=host.docker.internal:host-gateway при запуске контейнера или добавить соответствующую секцию в docker-compose.yml:

extra_hosts:
  - "host.docker.internal:host-gateway"

Параметры привязки Gateway

Gateway поддерживает два режима сетевой привязки через переменную OPENCLAW_GATEWAY_BIND. Режим lan (по умолчанию): Gateway слушает на всех интерфейсах, доступен с хост-машины и из локальной сети через опубликованный порт. Режим loopback: Gateway доступен только внутри контейнерной сети, что обеспечивает дополнительную изоляцию.

Для большинства сценариев использования режим lan является оптимальным. Режим loopback подходит для продакшн-развёртываний, где перед Gateway стоит обратный прокси (nginx, Caddy) с поддержкой TLS.

Управление контейнером

Основные команды для управления запущенным контейнером OpenClaw:

# Просмотр логов
docker compose logs -f openclaw-gateway

# Остановка
docker compose stop openclaw-gateway

# Перезапуск
docker compose restart openclaw-gateway

# Обновление до последней версии
docker compose pull openclaw-gateway
docker compose up -d openclaw-gateway

# Выполнение CLI-команд
docker compose run --rm openclaw-cli send "Привет, как дела?"

Развёртывание в Kubernetes

Для масштабных развёртываний OpenClaw можно запустить в кластере Kubernetes. Базовый манифест включает Deployment с одной репликой, Service типа ClusterIP для внутреннего доступа на порту 18789, PersistentVolumeClaim для хранения данных и Secret для API-ключей. Подробная инструкция по развёртыванию в Kubernetes выходит за рамки этого руководства, но основные принципы те же: проброс порта 18789, персистентное хранилище для директории /root/.openclaw и передача API-ключей через переменные окружения.

Безопасность Docker-развёртывания

При развёртывании OpenClaw в Docker обратите внимание на несколько аспектов безопасности. Не храните API-ключи в docker-compose.yml — используйте файл .env или Docker Secrets. Файл .env должен быть добавлен в .gitignore. Ограничьте доступ к порту 18789 через файрвол, если Gateway не должен быть доступен извне. Регулярно обновляйте базовый Docker-образ для получения исправлений безопасности.

Следующий шаг

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

Хотите получать подобные материалы раньше?

Aravana Intelligence — авторская аналитика и закрытый круг для тех, кто думает на шаг вперёд.

Узнать про Intelligence

Не пропускайте важное

Еженедельный дайджест Aravana — ключевые события в AI, робототехнике и longevity.

Похожие материалы

Как начать пользоваться Midjourney: генерация картинок AI

Midjourney — самый популярный AI-генератор изображений. Фотореализм, арт, иллюстрации, логотипы. Показываем, как начать — от регистрации до первой картинки.

·6 мин·Выбор редакции

Как установить Ollama: запуск AI-моделей на своём компьютере

Ollama — самый простой способ запустить AI-модели локально. Llama, Mistral, Qwen, DeepSeek — всё работает на вашем компьютере, без интернета, бесплатно и приватно.

·7 мин·Выбор редакции

Как начать пользоваться ChatGPT: пошаговая инструкция для Mac, Windows, iPhone и Android

Регистрация, установка, первый запрос — всё, что нужно, чтобы начать общаться с самой популярной нейросетью в мире. Без технических знаний, за 5 минут.

·7 мин·Выбор редакции