GCP
使用 Docker 在 GCP Compute Engine 虛擬機上運行持久化的 OpenClaw Gateway,具備持久狀態、內建二進位檔以及安全的重啟行為。
如果您想要「每月約 $5-12 的 OpenClaw 24/7 服務」,這是在 Google Cloud 上可靠的設定方案。 價格因機器類型和區域而異;請選擇符合您工作負載的最小 VM,如果遇到 OOM(記憶體不足)情況再進行擴展。
我們正在做什麼(簡單來說)?
Section titled “我們正在做什麼(簡單來說)?”- 建立 GCP 專案並啟用計費
- 建立 Compute Engine 虛擬機
- 安裝 Docker(隔離的應用程式執行環境)
- 在 Docker 中啟動 OpenClaw Gateway
- 在主機上持久化
~/.openclaw+~/.openclaw/workspace(在重啟/重建後存活) - 透過 SSH 通道從筆記型電腦存取控制介面
該掛載的 ~/.openclaw 狀態包含每個代理程式的
openclaw.json、
agents/<agentId>/agent/auth-profiles.json 和 .env。
可以透過以下方式存取 Gateway:
- 從您的筆記型電腦進行 SSH 連接埠轉發
- 如果您自行管理防火牆和權杖,可直接開放連接埠
本指南使用 GCP Compute Engine 上的 Debian。 Ubuntu 也可行;請對應相應的套件。 如需一般 Docker 流程,請參閱 Docker。
快速途徑(經驗豐富的操作員)
Section titled “快速途徑(經驗豐富的操作員)”- 建立 GCP 專案 + 啟用 Compute Engine API
- 建立 Compute Engine 虛擬機(e2-small、Debian 12、20GB)
- SSH 連線進入虛擬機
- 安裝 Docker
- 複製 OpenClaw 存儲庫
- 建立持久化主機目錄
- 設定
.env和docker-compose.yml - 內建所需的二進位檔、建置並啟動
- GCP 帳戶(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 安裝
初始化並進行驗證:
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.com主控台:
- 前往 IAM & Admin > Create Project
- 命名並建立
- 為該專案啟用計費
- 前往 APIs & Services > Enable APIs > 搜尋 “Compute Engine API” > 啟用
建立 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-cloud主控台:
- 前往 Compute Engine > VM instances > Create instance
- 名稱:
openclaw-gateway - 區域:
us-central1, 區域:us-central1-a - 機器類型:
e2-small - 開機磁碟:Debian 12, 20GB
- 建立
SSH 連線至 VM
CLI:
Terminal window gcloud compute ssh openclaw-gateway --zone=us-central1-a主控台:
在 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 version複製 OpenClaw 程式庫
Terminal window git clone https://github.com/openclaw/openclaw.gitcd openclaw本指南假設您將建置自訂映像檔,以確保二進位檔的持久性。
建立持久化主機目錄
Docker 容器是暫時性的。 所有長期存在的狀態都必須存放在主機上。
Terminal window mkdir -p ~/.openclawmkdir -p ~/.openclaw/workspace設定環境變數
在儲存庫根目錄中建立
.env。Terminal window OPENCLAW_IMAGE=openclaw:latestOPENCLAW_GATEWAY_TOKEN=OPENCLAW_GATEWAY_BIND=lanOPENCLAW_GATEWAY_PORT=18789OPENCLAW_CONFIG_DIR=/home/$USER/.openclawOPENCLAW_WORKSPACE_DIR=/home/$USER/.openclaw/workspaceGOG_KEYRING_PASSWORD=XDG_CONFIG_HOME=/home/node/.openclaw當您想要透過
.env管理穩定的 gateway token 時,請設定OPENCLAW_GATEWAY_TOKEN;否則在依賴跨重新啟動的用戶端之前,請先設定gateway.auth.token。如果這兩個來源都不存在,OpenClaw 對於該次啟動會僅使用執行時期的 token。產生一個 keyring 密碼並將其貼上到GOG_KEYRING_PASSWORD中:Terminal window openssl rand -hex 32請勿提交此檔案。
這個
.env檔案是用於容器/執行時期環境,例如OPENCLAW_GATEWAY_TOKEN。 儲存的提供者 OAuth/API-key 驗證資訊位於已掛載的 `~/.openclaw/agents//agent/auth-profiles.json` 中。
Docker Compose 設定
建立或更新
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 設定。仍然要設定驗證(gateway.auth.token或密碼)並對您的部署使用安全的綁定設定。共用的 Docker VM 執行時期步驟
請使用共用的執行時期指南來了解一般的 Docker 主機流程:
GCP 特定的啟動說明
在 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如果您變更了 Gateway 連接埠,請將
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/重新列印乾淨的儀表板連結:
Terminal window docker compose run --rm openclaw-cli dashboard --no-open如果 UI 提示進行 shared-secret 驗證,請將設定的權杖或密碼貼上到 Control UI 設定中。此 Docker 流程預設會寫入權杖;如果您將容器設定切換為密碼驗證,請改用該密碼。
如果 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](/zh-Hant/install/docker-vm-runtime#what-persists-where) 和 [Docker VM Runtime updates](/zh-Hant/install/docker-vm-runtime#updates)。
SSH 連線被拒
SSH 金鑰傳播可能在 VM 建立後需要 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,表示 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 角色。請採用最小權限原則。
有關 IAM 角色的詳細資訊,請參閱 https://cloud.google.com/iam/docs/understanding-roles。
- 設定訊息通道:Channels
- 將本機裝置配對為節點:Nodes
- 設定 Gateway:Gateway configuration