GCP
OpenClaw on GCP Compute Engine (Docker, Production VPS Guide)
Section titled “OpenClaw on GCP Compute Engine (Docker, Production VPS Guide)”在 GCP Compute Engine VM 上使用 Docker 運行持久化的 OpenClaw Gateway,具備持久狀態、內建二進位文件和安全的重啟行為。
如果您想要「以約每月 5-12 美元的價格全天候運行 OpenClaw」,這是在 Google Cloud 上的一個可靠設定。 價格因機器類型和區域而異;請選擇適合您工作負載的最小 VM,如果遇到 OOM (記憶體不足) 則進行擴展。
我們要做什麼(簡單來說)?
Section titled “我們要做什麼(簡單來說)?”- 建立 GCP 專案並啟用計費
- 建立 Compute Engine VM
- 安裝 Docker (隔離的應用程式執行環境)
- 在 Docker 中啟動 OpenClaw Gateway
- 在主機上持久化
~/.openclaw+~/.openclaw/workspace(在重啟/重建後仍然保留) - 透過 SSH 隧道從您的筆記型電腦存取控制 UI
可以透過以下方式存取 Gateway:
- 從您的筆記型電腦進行 SSH 連接埠轉發
- 如果您自行管理防火牆和令牌,可直接開放連接埠
本指南使用 GCP Compute Engine 上的 Debian。 Ubuntu 也可以運作;請對應相關的套件。 關於通用 Docker 流程,請參閱 Docker。
快速路徑 (有經驗的操作人員)
Section titled “快速路徑 (有經驗的操作人員)”- 建立 GCP 專案 + 啟用 Compute Engine API
- 建立 Compute Engine VM (e2-small, Debian 12, 20GB)
- SSH 進入 VM
- 安裝 Docker
- 克隆 OpenClaw 存放庫
- 建立持久化主機目錄
- 設定
.env和docker-compose.yml - 內建所需的二進位文件,建置並啟動
- GCP 帳戶 (e2-micro 符合免費層資格)
- 已安裝 gcloud CLI (或使用 Cloud Console)
- 從您的筆記型電腦進行 SSH 存取
- 具備基本的 SSH + 複製/貼上操作能力
- 約 20-30 分鐘
- Docker 和 Docker Compose
- 模型認證憑證
- 選用的提供商憑證
- WhatsApp QR
- Telegram bot token
- Gmail OAuth
安裝 gcloud CLI (或使用 Console)
選項 A:gcloud CLI (建議用於自動化)
從 https://cloud.google.com/sdk/docs/install 安裝
初始化並進行驗證:
Terminal window gcloud initgcloud auth login選項 B:Cloud Console
所有步驟均可透過網頁介面在 https://console.cloud.google.com 完成
建立 GCP 專案
CLI:
Terminal window 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:
Terminal window gcloud services enable compute.googleapis.comConsole:
- 前往 IAM & Admin > Create Project
- 命名並建立
- 為專案啟用計費
- 前往 APIs & Services > Enable APIs > 搜尋 “Compute Engine API” > Enable
建立 VM
機器類型:
Type Specs Cost Notes e2-medium 2 vCPU, 4GB RAM ~$25/mo 本機 Docker 建置最可靠 e2-small 2 vCPU, 2GB RAM ~$12/mo Docker 建置的最低建議 e2-micro 2 vCPU (共享), 1GB RAM 符合免費層資格 常因 Docker 建置 OOM (exit 137) 而失敗 CLI:
Terminal window 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-cloudConsole:
- 前往 Compute Engine > VM instances > Create instance
- Name:
openclaw-gateway - Region:
us-central1, Zone:us-central1-a - Machine type:
e2-small - Boot disk: Debian 12, 20GB
- Create
SSH 進入 VM
CLI:
Terminal window gcloud compute ssh openclaw-gateway --zone=us-central1-aConsole:
在 Compute Engine 介面中點擊您 VM 旁的 “SSH” 按鈕。
備註:SSH 金鑰傳播在 VM 建立後可能需要 1-2 分鐘。如果連線被拒,請稍後重試。
安裝 Docker (於 VM 上)
Terminal window sudo apt-get updatesudo apt-get install -y git curl ca-certificatescurl -fsSL https://get.docker.com | sudo shsudo usermod -aG docker $USER登出並重新登入以讓群組變更生效:
Terminal window exit然後再次 SSH 連入:
Terminal window gcloud compute ssh openclaw-gateway --zone=us-central1-a驗證:
Terminal window docker --versiondocker compose versionClone the OpenClaw repository
Terminal window git clone https://github.com/openclaw/openclaw.gitcd openclaw本指南假設您將構建自定義鏡像以確保二進製文件的持久性。
Create persistent host directories
Docker 容器是臨時的。 所有長期存在的狀態必須駐留在主機上。
Terminal window mkdir -p ~/.openclawmkdir -p ~/.openclaw/workspaceConfigure environment variables
在存儲庫根目錄中創建
.env。Terminal window OPENCLAW_IMAGE=openclaw:latestOPENCLAW_GATEWAY_TOKEN=change-me-nowOPENCLAW_GATEWAY_BIND=lanOPENCLAW_GATEWAY_PORT=18789OPENCLAW_CONFIG_DIR=/home/$USER/.openclawOPENCLAW_WORKSPACE_DIR=/home/$USER/.openclaw/workspaceGOG_KEYRING_PASSWORD=change-me-nowXDG_CONFIG_HOME=/home/node/.openclaw生成強密鑰:
Terminal window openssl rand -hex 32不要提交此文件。
Docker Compose configuration
創建或更新
docker-compose.yml。services:openclaw-gateway:image: ${OPENCLAW_IMAGE}build: .restart: unless-stoppedenv_file:- .envenvironment:- 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:/binvolumes:- ${OPENCLAW_CONFIG_DIR}:/home/node/.openclaw- ${OPENCLAW_WORKSPACE_DIR}:/home/node/.openclaw/workspaceports:# 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.auth.token或密碼),並為您的部署使用安全的綁定設置。Shared Docker VM runtime steps
使用共享運行時指南了解常見的 Docker 主機流程:
GCP-specific launch notes
在 GCP 上,如果在
pnpm install --frozen-lockfile期間構建失敗並出現Killed或exit code 137,則表示 VM 內存不足。最少使用e2-small,或者使用e2-medium以獲得更可靠的首次構建。綁定到 LAN (
OPENCLAW_GATEWAY_BIND=lan) 時,請在繼續之前配置受信任的瀏覽器來源:Terminal window docker compose run --rm openclaw-cli config set gateway.controlUi.allowedOrigins '["http://127.0.0.1:18789"]' --strict-json如果您更改了網關端口,請將
18789替換為您配置的端口。從您的筆記型電腦存取
建立 SSH 通道以轉發 Gateway 連接埠:
Terminal window gcloud compute ssh openclaw-gateway --zone=us-central1-a -- -L 18789:127.0.0.1:18789在瀏覽器中開啟:
http://127.0.0.1:18789/取得全新的 token 儀表板連結:
Terminal window docker compose run --rm openclaw-cli dashboard --no-open貼上該 URL 中的 token。
如果 Control UI 顯示
unauthorized或disconnected (1008): pairing required,請批准瀏覽器裝置:Terminal window docker compose run --rm openclaw-cli devices listdocker compose run --rm openclaw-cli devices approve需要再次查看共享的持久化和更新參考嗎?請參閱 [Docker VM Runtime](/en/install/docker-vm-runtime#what-persists-where) 和 [Docker VM Runtime updates](/en/install/docker-vm-runtime#updates)。
SSH 連線被拒
在 VM 建立後,SSH 金鑰傳播可能需要 1-2 分鐘。請稍後重試。
OS 登入問題
檢查您的 OS 登入設定檔:
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 firstgcloud compute instances stop openclaw-gateway --zone=us-central1-a
# Change machine typegcloud compute instances set-machine-type openclaw-gateway \ --zone=us-central1-a \ --machine-type=e2-small
# Start the VMgcloud compute instances start openclaw-gateway --zone=us-central1-a服務帳戶 (安全性最佳實務)
Section titled “服務帳戶 (安全性最佳實務)”對於個人用途,您的預設使用者帳戶即可正常運作。
對於自動化或 CI/CD 管線,請建立具備最低權限的專用服務帳戶:
-
建立服務帳戶:
Terminal window gcloud iam service-accounts create openclaw-deploy \--display-name="OpenClaw Deployment" -
授予 Compute Instance Admin 角色 (或範圍更窄的自訂角色):
Terminal window gcloud projects add-iam-policy-binding my-openclaw-project \--role="roles/compute.instanceAdmin.v1"
避免對自動化使用 Owner 角色。請遵循最低權限原則。
請參閱 https://cloud.google.com/iam/docs/understanding-roles 以了解 IAM 角色詳細資訊。
- 設定訊息管道:Channels
- 將本地裝置配對為節點:Nodes
- 設定 Gateway:Gateway configuration