Hosting

GCP

Запустіть постійний OpenClaw Gateway на VM GCP 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-тунель

Цей змонтований стан ~/.openclaw містить openclaw.json, окремий для кожного агента agents/<agentId>/agent/auth-profiles.json і .env.

До Gateway можна отримати доступ через:

  • SSH-переадресацію портів з вашого ноутбука
  • Пряме відкриття порту, якщо ви самостійно керуєте firewall і токенами

У цьому посібнику використовується Debian на GCP Compute Engine. Ubuntu також працює; зіставте пакети відповідно. Для загального процесу Docker див. Docker.


Швидкий шлях (досвідчені оператори)

  1. Створіть проєкт GCP + увімкніть Compute Engine API
  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 + копіюванням/вставленням
  • ~20-30 хвилин
  • Docker і Docker Compose
  • Облікові дані автентифікації моделі
  • Додаткові облікові дані провайдера
    • WhatsApp QR
    • Токен бота Telegram
    • Gmail OAuth

  • Встановіть gcloud CLI (або використовуйте Console)

    Варіант A: gcloud CLI (рекомендовано для автоматизації)

    Встановіть із https://cloud.google.com/sdk/docs/install

    Ініціалізуйте й автентифікуйтеся:

    gcloud init
    gcloud auth login
    

    Варіант B: Cloud Console

    Усі кроки можна виконати через веб-UI на https://console.cloud.google.com

  • Створіть проєкт GCP

    CLI:

    gcloud projects create my-openclaw-project --name="OpenClaw Gateway"
    gcloud config set project my-openclaw-project
    

    Увімкніть білінг на https://console.cloud.google.com/billing (потрібно для Compute Engine).

    Увімкніть Compute Engine API:

    gcloud services enable compute.googleapis.com
    

    Console:

    1. Перейдіть до IAM & Admin > Create Project
    2. Назвіть його та створіть
    3. Увімкніть білінг для проєкту
    4. Перейдіть до APIs & Services > Enable APIs > знайдіть "Compute Engine API" > Enable
  • Створіть VM

    Типи машин:

    Тип Характеристики Вартість Примітки
    e2-medium 2 vCPU, 4GB RAM ~$25/міс. Найнадійніший варіант для локальних збірок Docker
    e2-small 2 vCPU, 2GB RAM ~$12/міс. Мінімально рекомендовано для збірки Docker
    e2-micro 2 vCPU (shared), 1GB RAM Підходить для free tier Часто завершується помилкою OOM під час збірки Docker (exit 137)

    CLI:

    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
    

    Console:

    1. Перейдіть до Compute Engine > VM instances > Create instance
    2. Name: openclaw-gateway
    3. Region: us-central1, Zone: us-central1-a
    4. Machine type: e2-small
    5. Boot disk: Debian 12, 20GB
    6. Створіть
  • Увійдіть на VM через SSH

    CLI:

    gcloud compute ssh openclaw-gateway --zone=us-central1-a
    

    Console:

    Натисніть кнопку "SSH" поруч із вашою VM на панелі Compute Engine.

    Примітка: поширення SSH-ключа може тривати 1-2 хвилини після створення VM. Якщо з’єднання відхилено, зачекайте й повторіть спробу.

  • Встановіть Docker (на VM)

    sudo apt-get update
    sudo apt-get install -y git curl ca-certificates
    curl -fsSL https://get.docker.com | sudo sh
    sudo usermod -aG docker $USER
    

    Вийдіть і зайдіть знову, щоб зміна групи набула чинності:

    exit
    

    Потім знову підключіться через SSH:

    gcloud compute ssh openclaw-gateway --zone=us-central1-a
    

    Перевірте:

    docker --version
    docker compose version
    
  • Клонуйте репозиторій OpenClaw

    git clone https://github.com/openclaw/openclaw.git
    cd openclaw
    

    Цей посібник припускає, що ви збиратимете власний образ, щоб гарантувати збереження бінарних файлів.

  • Створіть постійні каталоги хоста

    Контейнери Docker є ефемерними. Увесь довгоживучий стан має зберігатися на хості.

    mkdir -p ~/.openclaw
    mkdir -p ~/.openclaw/workspace
    
  • Налаштуйте змінні середовища

    Створіть .env у корені репозиторію.

    OPENCLAW_IMAGE=openclaw:latest
    OPENCLAW_GATEWAY_TOKEN=
    OPENCLAW_GATEWAY_BIND=lan
    OPENCLAW_GATEWAY_PORT=18789
    
    OPENCLAW_CONFIG_DIR=/home/$USER/.openclaw
    OPENCLAW_WORKSPACE_DIR=/home/$USER/.openclaw/workspace
    
    GOG_KEYRING_PASSWORD=
    XDG_CONFIG_HOME=/home/node/.openclaw
    

    Задайте OPENCLAW_GATEWAY_TOKEN, якщо хочете керувати стабільним токеном Gateway через .env; інакше налаштуйте gateway.auth.token, перш ніж покладатися на клієнтів між перезапусками. Якщо жодного джерела немає, OpenClaw використовує токен лише для часу виконання для цього запуску. Згенеруйте пароль keyring і вставте його в GOG_KEYRING_PASSWORD:

    openssl rand -hex 32
    

    Не комітьте цей файл.

    Цей файл .env призначений для env контейнера/середовища виконання, як-от OPENCLAW_GATEWAY_TOKEN. Збережена автентифікація OAuth/API-key провайдерів міститься у змонтованому ~/.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:
          # Recommended: keep the Gateway loopback-only on the VM; access via SSH tunnel.
          # To expose it publicly, remove the `127.0.0.1:` prefix and firewall accordingly.
          - "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 VM

    Використовуйте спільний посібник із середовища виконання для типового процесу хоста Docker:

  • Примітки щодо запуску, специфічні для GCP

    У GCP, якщо збірка завершується помилкою Killed або exit code 137 під час pnpm install --frozen-lockfile, VM не вистачає пам’яті. Використовуйте щонайменше e2-small або e2-medium для надійніших перших збірок.

    Під час прив’язки до LAN (OPENCLAW_GATEWAY_BIND=lan) налаштуйте довірене джерело браузера, перш ніж продовжувати:

    docker compose run --rm openclaw-cli config set gateway.controlUi.allowedOrigins '["http://127.0.0.1:18789"]' --strict-json
    

    Якщо ви змінили порт Gateway, замініть 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
    

    Якщо UI запитує автентифікацію shared-secret, вставте налаштований токен або пароль у налаштування Control UI. Цей процес Docker за замовчуванням записує токен; якщо ви перемкнете конфігурацію контейнера на автентифікацію паролем, використовуйте натомість цей пароль.

    Якщо Control UI показує unauthorized або disconnected (1008): pairing required, схваліть пристрій браузера:

    docker compose run --rm openclaw-cli devices list
    docker compose run --rm openclaw-cli devices approve <requestId>
    

    Знову потрібна довідка щодо спільної стійкості та оновлень? Див. Середовище виконання Docker VM і оновлення середовища виконання Docker VM.


  • Усунення несправностей

    SSH-з’єднання відхилено

    Поширення SSH-ключа може тривати 1-2 хвилини після створення VM. Зачекайте й повторіть спробу.

    Проблеми OS Login

    Перевірте свій профіль OS Login:

    gcloud compute os-login describe-profile
    

    Переконайтеся, що ваш обліковий запис має потрібні дозволи IAM (Compute OS Login або Compute OS Admin Login).

    Брак пам’яті (OOM)

    Якщо збірка Docker завершується помилкою Killed і exit code 137, VM було завершено через OOM. Оновіть до e2-small (мінімум) або e2-medium (рекомендовано для надійних локальних збірок):

    # Stop the VM first
    gcloud compute instances stop openclaw-gateway --zone=us-central1-a
    
    # Change machine type
    gcloud compute instances set-machine-type openclaw-gateway \
      --zone=us-central1-a \
      --machine-type=e2-small
    
    # Start the VM
    gcloud compute instances start openclaw-gateway --zone=us-central1-a
    

    Сервісні облікові записи (найкраща практика безпеки)

    Для особистого використання ваш стандартний обліковий запис користувача підходить добре.

    Для автоматизації або CI/CD-конвеєрів створіть окремий сервісний обліковий запис із мінімальними дозволами:

    1. Створіть сервісний обліковий запис:

      gcloud iam service-accounts create openclaw-deploy \
        --display-name="OpenClaw Deployment"
      
    2. Надайте роль Compute Instance Admin (або вужчу власну роль):

      gcloud projects add-iam-policy-binding my-openclaw-project \
        --member="serviceAccount:[email protected]" \
        --role="roles/compute.instanceAdmin.v1"
      

    Уникайте використання ролі Owner для автоматизації. Дотримуйтеся принципу найменших привілеїв.

    Деталі ролей IAM див. на https://cloud.google.com/iam/docs/understanding-roles.


    Наступні кроки

    Пов’язане