OpenClaw на GCP Compute Engine (Docker, гайд для production VPS)
Мета
Запустити постійний OpenClaw Gateway на VM GCP Compute Engine за допомогою Docker зі стійким станом, вбудованими binaries і безпечною поведінкою перезапуску. Якщо вам потрібен “OpenClaw 24/7 приблизно за $5-12/міс.”, це надійне налаштування в Google Cloud. Вартість залежить від типу машини та регіону; оберіть найменшу VM, яка відповідає вашому навантаженню, і масштабуйте її вгору, якщо зіткнетеся з OOM.Що ми робимо (простими словами)?
- Створюємо проєкт GCP і вмикаємо білінг
- Створюємо VM Compute Engine
- Встановлюємо Docker (ізольоване runtime-середовище застосунку)
- Запускаємо OpenClaw Gateway у Docker
- Зберігаємо
~/.openclaw+~/.openclaw/workspaceна хості (переживає перезапуски/перебудови) - Отримуємо доступ до Control UI з ноутбука через SSH tunnel
~/.openclaw включає openclaw.json, agents/<agentId>/agent/auth-profiles.json
для кожного агента та .env.
Доступ до Gateway можна отримати через:
- переадресацію портів SSH з вашого ноутбука
- пряме відкриття порту, якщо ви самі керуєте firewall і tokens
Швидкий шлях (для досвідчених операторів)
- Створіть проєкт GCP + увімкніть Compute Engine API
- Створіть VM Compute Engine (e2-small, Debian 12, 20GB)
- Підключіться до VM через SSH
- Встановіть Docker
- Клонуйте репозиторій OpenClaw
- Створіть стійкі каталоги на хості
- Налаштуйте
.envіdocker-compose.yml - Вбудуйте потрібні binaries, зберіть і запустіть
Що вам знадобиться
- Обліковий запис GCP (e2-micro підпадає під free tier)
- Установлений gcloud CLI (або використовуйте Cloud Console)
- SSH-доступ з вашого ноутбука
- Базове вміння користуватися SSH + копіюванням/вставленням
- ~20-30 хвилин
- Docker і Docker Compose
- Облікові дані auth моделі
- Необов’язкові облікові дані провайдерів
- QR для WhatsApp
- bot token Telegram
- Gmail OAuth
Встановіть gcloud CLI (або використовуйте Console)
Варіант A: gcloud CLI (рекомендовано для автоматизації)Встановіть із https://cloud.google.com/sdk/docs/installІніціалізуйте та автентифікуйтеся:Варіант B: Cloud ConsoleУсі кроки можна виконати через веб-UI на https://console.cloud.google.com
Створіть проєкт GCP
CLI:Увімкніть білінг на https://console.cloud.google.com/billing (обов’язково для Compute Engine).Увімкніть Compute Engine API:Console:
- Перейдіть у IAM & Admin > Create Project
- Задайте назву та створіть проєкт
- Увімкніть білінг для проєкту
- Перейдіть у APIs & Services > Enable APIs > знайдіть “Compute Engine API” > Enable
Створіть VM
Типи машин:
CLI:Console:
| Тип | Характеристики | Вартість | Примітки |
|---|---|---|---|
| e2-medium | 2 vCPU, 4GB RAM | ~$25/міс. | Найнадійніший варіант для локальних збірок Docker |
| e2-small | 2 vCPU, 2GB RAM | ~$12/міс. | Мінімально рекомендовано для збірки Docker |
| e2-micro | 2 vCPU (спільні), 1GB RAM | Підпадає під free tier | Часто завершується невдачею через OOM під час збірки Docker (exit 137) |
- Перейдіть у Compute Engine > VM instances > Create instance
- Назва:
openclaw-gateway - Region:
us-central1, Zone:us-central1-a - Тип машини:
e2-small - Завантажувальний диск: Debian 12, 20GB
- Створіть VM
Підключіться до VM через SSH
CLI:Console:Натисніть кнопку “SSH” поруч із вашою VM на панелі Compute Engine.Примітка: поширення SSH-ключа може тривати 1-2 хвилини після створення VM. Якщо підключення відхиляється, зачекайте й повторіть спробу.
Встановіть Docker (на VM)
Клонуйте репозиторій OpenClaw
Створіть стійкі каталоги на хості
Контейнери Docker є ефемерними.
Увесь довготривалий стан має зберігатися на хості.
Налаштуйте змінні середовища
Створіть Згенеруйте сильні секрети:Не комітьте цей файл.Цей файл
.env у корені репозиторію..env призначений для env runtime контейнера, таких як OPENCLAW_GATEWAY_TOKEN.
Збережені OAuth/API-key auth провайдерів зберігаються в змонтованому
~/.openclaw/agents/<agentId>/agent/auth-profiles.json.Конфігурація Docker Compose
Створіть або оновіть
docker-compose.yml.--allow-unconfigured потрібен лише для зручності bootstrap, але не замінює правильну конфігурацію gateway. Усе одно задайте auth (gateway.auth.token або password) і використовуйте безпечні параметри bind для свого розгортання.Спільні кроки runtime для Docker VM
Для спільного потоку роботи з Docker host використовуйте спільний runtime-гайд:
Примітки щодо запуску, специфічні для GCP
На GCP, якщо збірка завершується помилкою Якщо ви змінили порт gateway, замініть
Killed або exit code 137 під час pnpm install --frozen-lockfile, VM не вистачає пам’яті. Використовуйте мінімум e2-small, або e2-medium для надійніших перших збірок.Під час bind до LAN (OPENCLAW_GATEWAY_BIND=lan) перед продовженням налаштуйте довірений browser origin:18789 на свій налаштований порт.Доступ із вашого ноутбука
Створіть SSH tunnel для переадресації порту Gateway:Відкрийте у браузері:Якщо UI запитує auth через shared-secret, вставте налаштований token або
password у налаштуваннях Control UI. Цей потік Docker за замовчуванням записує token;
якщо ви перемкнете конфігурацію контейнера на auth через password, використовуйте
натомість цей password.Якщо Control UI показує Знову потрібна довідка про спільне persistence та оновлення?
Див. Docker VM Runtime і Оновлення Docker VM Runtime.
http://127.0.0.1:18789/Повторно виведіть чисте посилання на dashboard:unauthorized або disconnected (1008): pairing required, схваліть пристрій браузера:Усунення несправностей
SSH connection refused Поширення SSH-ключа може тривати 1-2 хвилини після створення VM. Зачекайте й повторіть спробу. Проблеми з OS Login Перевірте свій профіль OS Login:Killed і exit code 137, VM було завершено через OOM. Оновіть до e2-small (мінімум) або e2-medium (рекомендовано для надійних локальних збірок):
Service accounts (найкраща практика безпеки)
Для особистого використання ваш звичайний обліковий запис користувача цілком підходить. Для автоматизації або CI/CD pipelines створіть окремий service account з мінімальними дозволами:-
Створіть service account:
-
Надайте роль Compute Instance Admin (або вужчу кастомну роль):
Наступні кроки
- Налаштуйте канали повідомлень: Channels
- Зв’яжіть локальні пристрої як nodes: Nodes
- Налаштуйте Gateway: Конфігурація Gateway