Hosting
GCP
Запустите постоянный OpenClaw Gateway на виртуальной машине GCP Compute Engine с помощью Docker, обеспечив долговременное хранение состояния, встроенные в образ бинарные файлы и безопасное поведение при перезапуске.
Стоимость зависит от типа машины и региона; выберите минимальную виртуальную машину, подходящую для вашей нагрузки, и увеличьте её размер, если возникают ошибки нехватки памяти.
Доступ к Gateway можно получить с ноутбука через перенаправление портов SSH или напрямую открыть порт, если вы самостоятельно управляете межсетевым экраном и токенами.
В этом руководстве используется Debian на GCP Compute Engine. Ubuntu также поддерживается; используйте соответствующие пакеты. Общий процесс работы с Docker описан в разделе Docker.
Что потребуется
- Учётная запись GCP (
e2-microсоответствует условиям бесплатного уровня) - CLI
gcloudили Cloud Console - Доступ по SSH с ноутбука
- Docker и Docker Compose
- Учётные данные для аутентификации в модели
- Необязательные учётные данные провайдеров (QR-код WhatsApp, токен бота Telegram, OAuth Gmail)
- Около 20–30 минут
Краткий порядок действий
- Создайте проект GCP, включите оплату и API Compute Engine
- Создайте виртуальную машину Compute Engine (
e2-small, Debian 12, 20GB) - Подключитесь к виртуальной машине по SSH и установите Docker
- Клонируйте репозиторий OpenClaw
- Создайте постоянные каталоги на хосте
- Настройте
.envиdocker-compose.yml - Встройте необходимые бинарные файлы, соберите и запустите систему
Установка CLI gcloud (или использование Console)
Установите его по инструкции на cloud.google.com/sdk/docs/install, затем выполните:
gcloud initgcloud auth loginВместо этого все приведённые ниже действия можно выполнить через веб-интерфейс Cloud Console.
Создание проекта GCP
gcloud projects create my-openclaw-project --name="OpenClaw Gateway"gcloud config set project my-openclaw-projectgcloud services enable compute.googleapis.comВключите оплату на странице console.cloud.google.com/billing (это необходимо для Compute Engine).
Аналогичные действия в Console: IAM & Admin > Create Project, включите оплату, затем APIs & Services > Enable APIs > "Compute Engine API" > Enable.
Создание виртуальной машины
| Тип | Характеристики | Стоимость | Примечания |
|---|---|---|---|
| e2-medium | 2 vCPU, 4GB ОЗУ | Около $25 в месяц | Наиболее надёжный вариант для локальной сборки Docker |
| e2-small | 2 vCPU, 2GB ОЗУ | Около $12 в месяц | Рекомендуемый минимум для сборки Docker |
| e2-micro | 2 vCPU (общие), 1GB ОЗУ | Доступен бесплатный уровень | Сборка Docker часто завершается из-за нехватки памяти (код 137) |
gcloud compute instances create openclaw-gateway \ --zone=us-central1-a \ --machine-type=e2-small \ --boot-disk-size=20GB \ --image-family=debian-12 \ --image-project=debian-cloudПодключение к виртуальной машине по SSH
gcloud compute ssh openclaw-gateway --zone=us-central1-aВ Console нажмите "SSH" рядом с виртуальной машиной на панели Compute Engine.
Распространение ключа SSH после создания виртуальной машины может занять 1–2 минуты; если в подключении отказано, подождите и повторите попытку.
Установка Docker (на виртуальной машине)
sudo apt-get updatesudo apt-get install -y git curl ca-certificatescurl -fsSL https://get.docker.com | sudo shsudo usermod -aG docker $USERЧтобы изменение группы вступило в силу, выйдите из системы, снова войдите и повторно подключитесь по SSH:
exitgcloud compute ssh openclaw-gateway --zone=us-central1-aПроверьте установку:
docker --versiondocker compose versionКлонирование репозитория OpenClaw
git clone https://github.com/openclaw/openclaw.gitcd openclawВ этом руководстве создаётся пользовательский образ, чтобы встроенные в него бинарные файлы сохранялись после перезапусков.
Создание постоянных каталогов на хосте
Контейнеры Docker являются временными; всё долговременное состояние должно храниться на хосте.
mkdir -p ~/.openclawmkdir -p ~/.openclaw/workspaceНастройка переменных окружения
Создайте .env в корне репозитория:
OPENCLAW_IMAGE=openclaw:latestOPENCLAW_GATEWAY_TOKEN=OPENCLAW_GATEWAY_BIND=lanOPENCLAW_GATEWAY_PORT=18789 OPENCLAW_CONFIG_DIR=/home/$USER/.openclawOPENCLAW_WORKSPACE_DIR=/home/$USER/.openclaw/workspace GOG_KEYRING_PASSWORD=XDG_CONFIG_HOME=/home/node/.openclawЗадайте OPENCLAW_GATEWAY_TOKEN, чтобы управлять постоянным токеном Gateway через
.env; в противном случае настройте gateway.auth.token, прежде чем полагаться на клиентов
после перезапусков. Если не задано ни одно из этих значений, OpenClaw использует только временный токен
для текущего запуска. Создайте пароль связки ключей для GOG_KEYRING_PASSWORD:
openssl rand -hex 32Не добавляйте этот файл в репозиторий. В нём хранятся переменные окружения контейнера и среды выполнения, например
OPENCLAW_GATEWAY_TOKEN. Сохранённые данные аутентификации OAuth и API-ключей провайдеров находятся в
подключённом каталоге ~/.openclaw/agents/<agentId>/agent/auth-profiles.json.
Настройка Docker Compose
Создайте или обновите docker-compose.yml:
services: openclaw-gateway: image: ${OPENCLAW_IMAGE} build: . restart: unless-stopped env_file: - .env environment: - HOME=/home/node - NODE_ENV=production - TERM=xterm-256color - OPENCLAW_GATEWAY_BIND=${OPENCLAW_GATEWAY_BIND} - OPENCLAW_GATEWAY_PORT=${OPENCLAW_GATEWAY_PORT} - OPENCLAW_GATEWAY_TOKEN=${OPENCLAW_GATEWAY_TOKEN} - GOG_KEYRING_PASSWORD=${GOG_KEYRING_PASSWORD} - XDG_CONFIG_HOME=${XDG_CONFIG_HOME} - PATH=/home/linuxbrew/.linuxbrew/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin volumes: - ${OPENCLAW_CONFIG_DIR}:/home/node/.openclaw - ${OPENCLAW_WORKSPACE_DIR}:/home/node/.openclaw/workspace ports: # Рекомендуется: оставьте Gateway доступным только через loopback-интерфейс виртуальной машины; подключайтесь через туннель SSH. # Чтобы открыть к нему публичный доступ, удалите префикс `127.0.0.1:` и соответствующим образом настройте межсетевой экран. - "127.0.0.1:${OPENCLAW_GATEWAY_PORT}:18789" command: [ "node", "dist/index.js", "gateway", "--bind", "${OPENCLAW_GATEWAY_BIND}", "--port", "${OPENCLAW_GATEWAY_PORT}", "--allow-unconfigured", ]--allow-unconfigured предназначен только для упрощения первоначальной настройки и не заменяет полноценную конфигурацию Gateway. Обязательно настройте аутентификацию (gateway.auth.token или пароль) и безопасный режим привязки для своей среды.
Общие этапы настройки среды выполнения Docker на виртуальной машине
Выполните действия из общего руководства по среде выполнения на хосте Docker:
Особенности запуска в GCP
Если во время pnpm install --frozen-lockfile сборка завершается с ошибкой Killed или exit code 137, виртуальной машине не хватает памяти. Используйте как минимум e2-small или e2-medium для более надёжной первоначальной сборки.
При привязке к локальной сети (OPENCLAW_GATEWAY_BIND=lan) перед продолжением настройте доверенный источник браузера:
docker compose run --rm openclaw-cli config set gateway.controlUi.allowedOrigins '["http://127.0.0.1:18789"]' --strict-jsonЕсли вы изменили порт, замените 18789 на настроенный номер порта.
Доступ с ноутбука
Создайте туннель SSH для перенаправления порта Gateway:
gcloud compute ssh openclaw-gateway --zone=us-central1-a -- -L 18789:127.0.0.1:18789Откройте http://127.0.0.1:18789/ в браузере.
Повторно выведите корректную ссылку на панель управления:
docker compose run --rm openclaw-cli dashboard --no-openЕсли интерфейс запрашивает аутентификацию с общим секретом, вставьте настроенный токен или пароль в настройки Control UI (по умолчанию этот процесс Docker записывает токен; если вы перешли на аутентификацию по паролю, используйте вместо него настроенный пароль).
Если Control UI отображает unauthorized или disconnected (1008): pairing required, подтвердите устройство браузера:
docker compose run --rm openclaw-cli devices listdocker compose run --rm openclaw-cli devices approve <requestId>Общую схему постоянного хранения данных см. в разделе Среда выполнения Docker на виртуальной машине, а процедуру обновления — в разделе обновлений.
Устранение неполадок
Отказ в подключении по SSH
Распространение ключа SSH после создания виртуальной машины может занять 1–2 минуты. Подождите и повторите попытку.
Проблемы с OS Login
Проверьте профиль OS Login:
gcloud compute os-login describe-profileУбедитесь, что у вашей учётной записи есть необходимые разрешения IAM (Compute OS Login или Compute OS Admin Login).
Недостаточно памяти (OOM)
Если сборка Docker завершается с Killed и exit code 137, процесс виртуальной машины был завершён из-за нехватки памяти:
# Сначала остановите виртуальную машинуgcloud compute instances stop openclaw-gateway --zone=us-central1-a # Измените тип машиныgcloud compute instances set-machine-type openclaw-gateway \ --zone=us-central1-a \ --machine-type=e2-small # Запустите виртуальную машинуgcloud compute instances start openclaw-gateway --zone=us-central1-aСервисные аккаунты (рекомендуемая практика безопасности)
Для личного использования достаточно вашей обычной учётной записи пользователя. Для автоматизации или CI/CD создайте отдельный сервисный аккаунт с минимальными разрешениями:
gcloud iam service-accounts create openclaw-deploy \ --display-name="OpenClaw Deployment" gcloud projects add-iam-policy-binding my-openclaw-project \ --member="serviceAccount:openclaw-deploy@my-openclaw-project.iam.gserviceaccount.com" \ --role="roles/compute.instanceAdmin.v1"Не используйте роль Owner для автоматизации; назначьте наиболее узкую подходящую роль. См. раздел Общие сведения о ролях.
Дальнейшие действия
- Настройте каналы обмена сообщениями: Каналы
- Свяжите локальные устройства как узлы: Узлы
- Настройте Gateway: Конфигурация Gateway