在 GCP 部署 OpenClaw:用 Docker 打造 24/7 不斷線的 Gateway
我以前常把 OpenClaw 跑在自己的筆電上,但只要一蓋上螢幕或網路斷掉,AI 助理就直接失聯。如果你也想要一個 24/7 在線、不用擔心家裡停電或斷網的環境,把 OpenClaw 丟到 GCP 這種雲端 VPS 是最省心的選擇。每個月花個 5 到 12 美金,就能換到一個超級穩定的後台。
這篇指南會教你如何在 GCP 的 Compute Engine 跑一個帶有 Docker 的 OpenClaw Gateway。我們會把狀態存放在硬碟裡,並將必要的 Binary 直接封裝進 Image,確保重啟後一切都能正常運作。
需要準備的東西
Section titled “需要準備的東西”- 一個 GCP 帳號(e2-micro 等級有免費額度)
- 已安裝 gcloud CLI(或直接用 Cloud Console 網頁版)
- 基礎的 SSH 操作經驗
- 大約 20-30 分鐘的時間
- Docker 與 Docker Compose
- 模型 API Key
- 其他選配的憑證(例如 WhatsApp QR, Telegram bot token 或 Gmail OAuth)
如果你是老手,這是 5 分鐘快速路徑:
- 建立 GCP 專案並啟用 Compute Engine API
- 建立 VM (e2-small, Debian 12, 20GB)
- SSH 進入 VM 並安裝 Docker
- Clone OpenClaw 專案
- 建立存放資料的資料夾
- 設定
.env與docker-compose.yml - 把需要的 Binary 寫進 Dockerfile 並啟動
1. 建立 GCP 專案與 VM
Section titled “1. 建立 GCP 專案與 VM”首先,你需要一個家。你可以用 gcloud 指令或是直接在網頁點選。
建立專案:
gcloud projects create my-openclaw-project --name="OpenClaw Gateway"gcloud config set project my-openclaw-project去 GCP 控制台 確定有綁定信用卡,然後啟用 API:
gcloud services enable compute.googleapis.com建立 VM 執行個體:
推薦使用 e2-small,因為 e2-micro 的 1GB RAM 在跑複雜任務時可能會 OOM(記憶體不足)。
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-cloud2. 安裝 Docker
Section titled “2. 安裝 Docker”SSH 進入你的 VM:
gcloud compute ssh openclaw-gateway --zone=us-central1-a進去後直接跑這串指令安裝 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 進去,這樣你的權限才會生效。
3. 設定 OpenClaw 環境
Section titled “3. 設定 OpenClaw 環境”先把程式碼抓下來:
git clone https://github.com/openclaw/openclaw.gitcd openclaw建立存放資料的資料夾。這步很重要,因為 Docker Container 隨時會重啟,我們要確保設定檔存在 VM 的硬碟上:
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/.openclaw4. 封裝 Binary(關鍵步驟)
Section titled “4. 封裝 Binary(關鍵步驟)”在 Docker 裡面跑 OpenClaw 有個陷阱:如果你在 Container 執行時才安裝 gog 或 wacli,重啟後它們就會消失。
你必須修改 Dockerfile,把需要的工具直接包進去。這是一個範例:
FROM node:22-bookwormRUN apt-get update && apt-get install -y socat && rm -rf /var/lib/apt/lists/*
# 安裝 Gmail CLIRUN curl -L https://github.com/steipete/gog/releases/latest/download/gog_Linux_x86_64.tar.gz \ | tar -xz -C /usr/local/bin && chmod +x /usr/local/bin/gog
# 安裝 WhatsApp CLIRUN curl -L https://github.com/steipete/wacli/releases/latest/download/wacli_Linux_x86_64.tar.gz \ | tar -xz -C /usr/local/bin && chmod +x /usr/local/bin/wacli
WORKDIR /appCOPY . .RUN corepack enable && pnpm install --frozen-lockfile && pnpm build && pnpm ui:install && pnpm ui:buildENV NODE_ENV=productionCMD ["node","dist/index.js"]5. 啟動與訪問
Section titled “5. 啟動與訪問”跑起你的 Gateway:
docker compose builddocker compose up -d openclaw-gateway確認一下有沒有成功跑起來:
docker compose logs -f openclaw-gateway看到 [gateway] listening on ws://0.0.0.0:18789 就代表成功了。
怎麼連進去? 為了安全,我們不建議直接對外開放 18789 Port。請在你的筆電跑這條 SSH Tunnel 指令:
gcloud compute ssh openclaw-gateway --zone=us-central1-a -- -L 18789:127.0.0.1:18789現在打開瀏覽器輸入 http://127.0.0.1:18789/,貼上你的 token 就能開始用了。
- SSH 連不上:剛建立 VM 時,SSH Key 同步需要 1-2 分鐘,等一下再試。
- 記憶體爆掉 (OOM):如果你堅持用
e2-micro但發現它一直掛掉,請升級到e2-small。 - Binary 找不到:如果你新加了 Skill 需要新的工具,記得去改 Dockerfile 然後重新
docker compose build。 - 權限錯誤:確保
~/.openclaw的權限是你的使用者可以讀寫的。
資料存哪裡?
Section titled “資料存哪裡?”| 組件 | 位置 | 備註 |
|---|---|---|
| Gateway 設定 | /home/node/.openclaw/ | 包含 token 與 openclaw.json |
| 模型設定檔 | /home/node/.openclaw/ | 你的 API Key 都在這 |
| WhatsApp Session | /home/node/.openclaw/ | 存放在這才不用每次掃 QR Code |
| 外部 Binary | /usr/local/bin/ | 必須包在 Docker Image 裡 |
如果你在設定過程中卡住了,可以找我們的 AI Setup Assistant 聊聊。
- 設定通訊管道:Channels
- 將你的手機或電腦配對為 Node:Nodes
- 進階 Gateway 設定:Gateway configuration
OpenClaw Expert
還是卡住了?
如果這篇文件沒有解決你的情境,直接問 OpenClaw Expert,拿到可執行步驟。