跳转至

GCP

在 Debian Compute Engine 虚拟机上运行持久化的 OpenClaw Gateway。本页涵盖 GCP 的资源调配、网络访问和机器操作;共享的 Docker VM runtime 页面负责容器设置、持久化、自定义二进制文件、验证和更新。

价格因机器类型和区域而异。从源码构建镜像时至少需要 6 GB 内存。在较小的机器上,请使用 Docker VM runtime 中描述的官方预构建镜像。

准备工作

  • 一个已启用结算功能的 GCP 项目
  • gcloud CLI 或 Cloud Console
  • 从笔记本电脑进行 SSH 访问
  • 模型凭据和可选渠道凭据
  • 大约 20 分钟

配置虚拟机

1. 初始化 gcloud

从 cloud.google.com/sdk/docs/install 安装 CLI,然后进行身份验证:

gcloud init
gcloud auth login

你可以在 Cloud Console 中执行相同的步骤。

2. 创建项目

gcloud projects create my-openclaw-project --name="OpenClaw Gateway"
gcloud config set project my-openclaw-project
gcloud services enable compute.googleapis.com

在 结算控制台 中启用结算。如果没有结算,Compute Engine 将无法启动。

3. 选择机器

类型 规格 备注
e2-standard-2 2 vCPU, 8 GB RAM 推荐用于从源码构建镜像
e2-medium 2 vCPU, 4 GB RAM 使用官方预构建镜像
e2-small 2 vCPU, 2 GB RAM 使用官方预构建镜像

创建 Debian 12 虚拟机:

gcloud compute instances create openclaw-gateway \
  --zone=us-central1-a \
  --machine-type=e2-standard-2 \
  --boot-disk-size=20GB \
  --image-family=debian-12 \
  --image-project=debian-cloud

4. 检查防火墙访问

保持 TCP 18789 不对公共互联网开放。下面的 SSH 隧道只需要对虚拟机的 SSH 访问权限:

gcloud compute firewall-rules list \
  --format='table(name,network,direction,sourceRanges.list():label=SOURCE_RANGES,allowed[].map().firewall_rule().list():label=ALLOW)'

尽可能将 SSH 来源范围限制为你的管理网络。如果你有意通过反向代理或 tailnet 暴露 Gateway,请遵循 Gateway security,而不要为 18789 端口添加宽泛的 0.0.0.0/0 规则。

5. 通过 SSH 连接

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

虚拟机创建后,SSH 密钥传播可能需要一两分钟。如果第一次连接被拒绝,请等待并重试。

6. 安装 Docker

在虚拟机上:

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

重新连接以使组更改生效,然后验证安装:

gcloud compute ssh openclaw-gateway --zone=us-central1-a
docker --version
docker compose version

配置 Docker 运行时

在虚拟机上,按照 Docker VM runtime 的 开始之前 到 验证和管理 Gateway 部分操作。该设置脚本由项目维护,默认使用以下 GCP 主机路径:

export OPENCLAW_CONFIG_DIR="$HOME/.openclaw"
export OPENCLAW_WORKSPACE_DIR="$HOME/.openclaw/workspace"
export OPENCLAW_AUTH_PROFILE_SECRET_DIR="$HOME/.openclaw-auth-profile-secrets"

如果源码构建以 Killed、ResourceExhausted 或退出码 137 结束,请先调整虚拟机规格,然后再重试。

访问控制界面

从你的笔记本电脑上打开一个 SSH 隧道并保持其运行:

gcloud compute ssh openclaw-gateway --zone=us-central1-a -- -L 18789:127.0.0.1:18789

打开 http://127.0.0.1:18789/。如果提示,粘贴虚拟机 .env 中的 Gateway 令牌。要重新打印仪表板 URL 或批准浏览器设备,请在虚拟机上运行:

cd openclaw
docker compose run --rm openclaw-cli dashboard --no-open
docker compose run --rm openclaw-cli devices list
docker compose run --rm openclaw-cli devices approve <requestId>

故障排查

SSH 连接被拒绝

等待一两分钟让 SSH 密钥传播,然后重试。确认虚拟机正在运行,并且有一条入站防火墙规则允许来自你当前网络的 TCP 22。

OS Login 问题

gcloud compute os-login describe-profile

确保你的账号拥有 Compute OS Login 或 Compute OS Admin Login 权限。

内存不足构建后调整规格

gcloud compute instances stop openclaw-gateway --zone=us-central1-a
gcloud compute instances set-machine-type openclaw-gateway \
  --zone=us-central1-a \
  --machine-type=e2-medium
gcloud compute instances start openclaw-gateway --zone=us-central1-a

使用部署服务账号

对于个人环境,你的用户账号就足够了。自动化应使用一个专门的、具有可行最小权限角色(narrowest role)的服务账号:

gcloud iam service-accounts create openclaw-deploy \
  --display-name="OpenClaw Deployment"

gcloud projects add-iam-policy-binding my-openclaw-project \
  --member="serviceAccount:openclaw-deploy@my-openclaw-project.iam.gserviceaccount.com" \
  --role="roles/compute.instanceAdmin.v1"

避免使用 Owner 角色。请参阅 了解角色。

后续步骤

本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 cl/openclaw