在 GCP Compute Engine 上运行 OpenClaw(Docker,生产 VPS 指南)
目标
使用 Docker 在 GCP Compute Engine VM 上运行一个持久化的 OpenClaw Gateway 网关,具备可持久保存的状态、预烘焙的二进制文件,以及安全的重启行为。 如果你想要“每月约 $5-12、7x24 小时运行的 OpenClaw”,这是在 Google Cloud 上一种可靠的部署方式。 价格会因机器类型和区域而异;请选择适合你工作负载的最小 VM,如果遇到 OOM 再向上扩容。我们要做什么(通俗版)
- 创建一个 GCP 项目并启用计费
- 创建一个 Compute Engine VM
- 安装 Docker(隔离的应用运行时)
- 在 Docker 中启动 OpenClaw Gateway 网关
- 在主机上持久化
~/.openclaw+~/.openclaw/workspace(在重启/重建后仍然保留) - 通过 SSH 隧道从你的笔记本访问 Control UI
~/.openclaw 状态包括 openclaw.json、每智能体的
agents/<agentId>/agent/auth-profiles.json 和 .env。
可以通过以下方式访问 Gateway 网关:
- 从你的笔记本进行 SSH 端口转发
- 如果你自行管理防火墙和 token,也可以直接暴露端口
快速路径(适合有经验的 operator)
- 创建 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 安装初始化并认证:选项 B:Cloud Console所有步骤都可以通过 https://console.cloud.google.com 的 Web UI 完成
创建一个 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:
| Type | Specs | Cost | Notes |
|---|---|---|---|
| e2-medium | 2 vCPU,4GB RAM | 约 $25/月 | 对本地 Docker 构建最可靠 |
| e2-small | 2 vCPU,2GB RAM | 约 $12/月 | Docker 构建的最低推荐配置 |
| e2-micro | 2 vCPU(共享),1GB RAM | 符合免费层资格 | 经常因 Docker 构建 OOM 而失败(exit 137) |
- 前往 Compute Engine > VM instances > Create instance
- 名称:
openclaw-gateway - 区域:
us-central1,可用区:us-central1-a - 机器类型:
e2-small - 启动磁盘:Debian 12,20GB
- 创建
通过 SSH 登录到 VM
CLI:Console:在 Compute Engine 控制台中点击你 VM 旁边的 “SSH” 按钮。注意:VM 创建后,SSH 密钥传播可能需要 1-2 分钟。如果连接被拒绝,请稍等后重试。
配置环境变量
在仓库根目录创建 生成强密钥:不要提交这个文件。这个
.env。.env 文件用于容器/运行时环境变量,例如 OPENCLAW_GATEWAY_TOKEN。
存储的提供商 OAuth/API-key 认证保存在挂载的
~/.openclaw/agents/<agentId>/agent/auth-profiles.json 中。Docker Compose 配置
创建或更新
docker-compose.yml。--allow-unconfigured 仅用于引导时的便利,它不能替代正确的 gateway 配置。你仍然需要设置认证(gateway.auth.token 或 password),并为你的部署使用安全的 bind 设置。共享 Docker VM 运行时步骤
对于通用 Docker 主机流程,请使用共享运行时指南:
GCP 特定的启动说明
在 GCP 上,如果构建在 如果你修改了 gateway 端口,请将
pnpm install --frozen-lockfile 期间因 Killed 或 exit code 137 失败,则说明 VM 内存不足。请至少使用 e2-small,或使用 e2-medium 以获得更可靠的首次构建体验。当绑定到 LAN(OPENCLAW_GATEWAY_BIND=lan)时,请在继续之前配置一个受信任的浏览器 origin:18789 替换为你配置的端口。从你的笔记本访问
创建一个 SSH 隧道以转发 Gateway 网关端口:在浏览器中打开:如果 UI 提示需要 shared-secret 认证,请将已配置的 token 或
password 粘贴到 Control UI 设置中。这个 Docker 流程默认会写入 token;如果你将容器配置切换为 password 认证,请改用该
password。如果 Control UI 显示 需要再次查看共享的持久化与更新参考?
请参见 Docker VM Runtime 和 Docker VM Runtime 更新。
http://127.0.0.1:18789/重新打印一个干净的 dashboard 链接:unauthorized 或 disconnected (1008): pairing required,请批准浏览器设备:故障排除
SSH 连接被拒绝 VM 创建后,SSH 密钥传播可能需要 1-2 分钟。请稍等后重试。 OS Login 问题 检查你的 OS Login 配置档案:Killed 和 exit code 137 失败,说明 VM 被 OOM 杀掉了。请升级到 e2-small(最低)或 e2-medium(推荐用于可靠的本地构建):
服务账号(安全最佳实践)
对于个人使用,你的默认用户账号就足够了。 对于自动化或 CI/CD 流水线,请创建一个具有最小权限的专用服务账号:-
创建服务账号:
-
授予 Compute Instance Admin 角色(或更窄的自定义角色):
下一步
- 设置消息渠道:Channels
- 将本地设备配对为节点:Nodes
- 配置 Gateway 网关:Gateway configuration