Skip to main content

OpenClaw на GCP Compute Engine (Docker, руководство для production VPS)

Цель

Запустить постоянный OpenClaw Gateway (шлюз) на VM Google Compute Engine с использованием Docker, с устойчивым состоянием, заранее встроенными бинарными файлами и безопасным поведением при перезапуске. Если вам нужен «OpenClaw 24/7 за ~$5–12 в месяц», это надёжная конфигурация в Google Cloud. Стоимость зависит от типа машины и региона; выбирайте минимальную VM, подходящую под вашу нагрузку, и масштабируйтесь при появлении OOM.

Что мы делаем (простыми словами)?

  • Создаём проект GCP и включаем биллинг
  • Создаём VM Compute Engine
  • Устанавливаем Docker (изолированная среда выполнения приложения)
  • Запускаем OpenClaw Gateway (шлюз) в Docker
  • Сохраняем ~/.openclaw + ~/.openclaw/workspace на хосте (переживает перезапуски и пересборки)
  • Получаем доступ к Control UI с ноутбука через SSH-туннель
Доступ к Gateway (шлюзу) возможен через:
  • SSH-проброс портов с вашего ноутбука
  • Прямое открытие порта, если вы самостоятельно управляете firewall и токенами
В этом руководстве используется Debian на GCP Compute Engine. Ubuntu также подходит; сопоставьте пакеты соответствующим образом. Для общего Docker-потока см. Docker.

Быстрый путь (для опытных операторов)

  1. Создать проект GCP и включить API Compute Engine
  2. Создать VM Compute Engine (e2-small, Debian 12, 20GB)
  3. Подключиться к VM по SSH
  4. Установить Docker
  5. Клонировать репозиторий OpenClaw
  6. Создать постоянные директории на хосте
  7. Настроить .env и docker-compose.yml
  8. Встроить необходимые бинарные файлы, собрать образ и запустить

Что вам понадобится

  • Аккаунт GCP (free tier доступен для e2-micro)
  • Установленный gcloud CLI (или использование Cloud Console)
  • SSH-доступ с вашего ноутбука
  • Базовые навыки работы с SSH и copy/paste
  • ~20–30 минут
  • Docker и Docker Compose
  • Учётные данные для аутентификации модели
  • Необязательные учетные данные поставщика
    • QR-код WhatsApp
    • Токен бота Telegram
    • OAuth Gmail

1. Установка gcloud CLI (или использование Console)

Вариант A: gcloud CLI (рекомендуется для автоматизации) Установите по инструкции: https://cloud.google.com/sdk/docs/install Инициализируйте и выполните аутентификацию:
Вариант B: Cloud Console Все шаги можно выполнить через веб-интерфейс: https://console.cloud.google.com

2. Создание проекта GCP

CLI:
Включите биллинг на странице https://console.cloud.google.com/billing (обязательно для Compute Engine). Включите API Compute Engine:
Console:
  1. Перейдите в IAM & Admin > Create Project
  2. Задайте имя и создайте проект
  3. Включите биллинг для проекта
  4. Перейдите в APIs & Services > Enable APIs > найдите «Compute Engine API» > Enable

3. Создание VM

Типы машин: CLI:
Console:
  1. Перейдите в Compute Engine > VM instances > Create instance
  2. Имя: openclaw-gateway
  3. Регион: us-central1, зона: us-central1-a
  4. Тип машины: e2-small
  5. Загрузочный диск: Debian 12, 20GB
  6. Создать

4. Подключение к VM по SSH

CLI:
Console: Нажмите кнопку «SSH» рядом с вашей VM в панели Compute Engine. Примечание: распространение SSH-ключей может занять 1–2 минуты после создания VM. Если соединение отклонено, подождите и повторите попытку.

5. Установка Docker (на VM)

Выйдите из системы и войдите снова, чтобы изменения групп вступили в силу:
Затем снова подключитесь по SSH:
Проверьте:

6. Клонирование репозитория OpenClaw

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

7. Создание постоянных директорий на хосте

Docker-контейнеры являются эфемерными. Все долгоживущие данные должны храниться на хосте.

8. Настройка переменных окружения

Создайте .env в корне репозитория.
Сгенерируйте надёжные секреты:
Не коммитьте этот файл.

9. Конфигурация Docker Compose

Создайте или обновите docker-compose.yml.

10. Встраивание необходимых бинарных файлов в образ (критично)

Установка бинарных файлов внутри работающего контейнера — ловушка. Всё, что установлено во время выполнения, будет потеряно при перезапуске. Все внешние бинарные файлы, необходимые Skills, должны устанавливаться на этапе сборки образа. В примерах ниже показаны только три распространённых бинарных файла:
  • gog для доступа к Gmail
  • goplaces для Google Places
  • wacli для WhatsApp
Это лишь примеры, а не полный список. Вы можете устанавливать любое количество бинарных файлов, используя тот же шаблон. Если позже вы добавите новые Skills, зависящие от дополнительных бинарных файлов, необходимо:
  1. Обновить Dockerfile
  2. Пересобрать образ
  3. Перезапустить контейнеры
Пример Dockerfile

11. Сборка и запуск

Проверьте бинарные файлы:
Ожидаемый вывод:

12. Проверка Gateway (шлюза)

Успех:

13. Доступ с вашего ноутбука

Создайте SSH-туннель для проброса порта Gateway (шлюза):
Откройте в браузере: http://127.0.0.1:18789/ Вставьте ваш токен Gateway.

Что где сохраняется (источник истины)

OpenClaw работает в Docker, но Docker не является источником истины. Все долгоживущие данные должны переживать перезапуски, пересборки и перезагрузки.

Обновления

Чтобы обновить OpenClaw на VM:

Устранение неполадок

SSH connection refused Распространение SSH-ключей может занять 1–2 минуты после создания VM. Подождите и повторите попытку. Проблемы OS Login Проверьте профиль OS Login:
Убедитесь, что у вашей учётной записи есть необходимые IAM-права (Compute OS Login или Compute OS Admin Login). Out of memory (OOM) Если при использовании e2-micro возникает OOM, обновитесь до e2-small или e2-medium:

Service accounts (лучшая практика безопасности)

Для личного использования достаточно вашей учётной записи по умолчанию. Для автоматизации или CI/CD-пайплайнов создайте отдельную service account с минимальными правами:
  1. Создайте service account:
  2. Назначьте роль Compute Instance Admin (или более узкую кастомную роль):
Избегайте использования роли Owner для автоматизации. Следуйте принципу наименьших привилегий. Подробности о ролях IAM см. на странице https://cloud.google.com/iam/docs/understanding-roles.

Дальнейшие шаги

  • Настройте каналы обмена сообщениями: Channels
  • Подключите локальные устройства как узлы: Nodes
  • Настройте Gateway (шлюз): Gateway configuration