Skip to main content
使用 Docker 在 Hetzner VPS 上运行一个持久化的 OpenClaw Gateway,具备耐久状态、内置二进制文件和安全的重启行为。 Hetzner 的定价会变化;请选择能满足需求的最小 Debian/Ubuntu VPS,如果遇到 OOM 再进行扩容。 你可以通过从笔记本电脑进行 SSH 端口转发访问 Gateway,或者在你自己管理防火墙和令牌的情况下直接暴露端口。 安全模型提醒:
  • 当所有人都处于同一信任边界内且运行时仅用于业务时,共享公司的 agent 是可以的。
  • 保持严格隔离:专用 VPS/运行时 + 专用账户;该主机上不要有个人的 Apple/Google/浏览器/密码管理器配置文件。
  • 如果用户彼此具有对抗性,请按 gateway/host/OS 用户进行拆分。
参见 安全性VPS 托管 本指南假定你在 Hetzner 上使用 Ubuntu 或 Debian。若是在其他 Linux VPS 上,请相应映射软件包。通用的 Docker 流程请参见 Docker

你需要的内容

  • 具有 root 访问权限的 Hetzner VPS
  • 从你的笔记本电脑进行 SSH 访问
  • Docker 和 Docker Compose
  • 模型认证凭据
  • 可选的提供商凭据(WhatsApp QR、Telegram 机器人 token、Gmail OAuth)
  • 约 20 分钟

快速路径

  1. Provision Hetzner VPS
  2. 安装 Docker
  3. 克隆 OpenClaw 仓库
  4. 创建持久化主机目录
  5. 配置 .envdocker-compose.yml
  6. 将所需二进制文件烘焙进镜像
  7. docker compose up -d
  8. 验证持久化和 Gateway 访问
1

Provision the VPS

在 Hetzner 中创建一个 Ubuntu 或 Debian 的 VPS,然后以 root 身份连接:
将 VPS 视为有状态基础设施,而不是一次性基础设施。
2

安装 Docker(在 VPS 上)

验证:
3

克隆 OpenClaw 仓库

本指南会构建一个自定义镜像,因此你烘焙进去的任何二进制文件都会在重启后保留。
4

Create persistent host directories

Docker 容器是短暂的;所有长生命周期状态都必须存放在主机上。
5

Configure environment variables

在仓库根目录创建 .env
OPENCLAW_GATEWAY_TOKEN 设置为通过 .env 管理稳定的 gateway token;否则在依赖跨重启的客户端之前,请配置 gateway.auth.token。如果两者都未设置,OpenClaw 会在该次启动时使用仅运行时有效的 token。为 GOG_KEYRING_PASSWORD 生成一个 keyring 密码:
不要提交此文件。 它包含容器/运行时环境变量,例如 OPENCLAW_GATEWAY_TOKEN。已存储的提供商 OAuth/API key 身份验证位于 挂载的 ~/.openclaw/agents/<agentId>/agent/auth-profiles.json 中。
6

Docker Compose configuration

创建或更新 docker-compose.yml
--allow-unconfigured 仅用于引导阶段的便利性,并不能替代真正的 gateway 配置。仍然要为你的部署设置认证(gateway.auth.token 或密码)以及安全的绑定模式。
7

Shared Docker VM runtime steps

按照共享运行时指南,了解通用 Docker 主机流程:
8

Hetzner-specific access

完成共享的构建和启动步骤后,打开隧道。前提条件: 确保你的 VPS sshd 配置允许 TCP 转发。如果你已经加固了 SSH 配置,请检查 /etc/ssh/sshd_config 并设置:
local 允许从你的笔记本电脑使用 ssh -L 本地转发,同时阻止服务器发起的远程转发。将其设置为 no 会导致隧道失败,并出现: channel 3: open failed: administratively prohibited: open failed确认已启用 TCP 转发后,重启 SSH 服务 (systemctl restart ssh),并在你的笔记本上运行隧道:
打开 http://127.0.0.1:18789/ 并粘贴已配置的共享密钥。 本指南默认使用 gateway token;如果你切换为密码认证,请改用你配置的密码。
共享持久化映射位于 Docker VM Runtime

基础设施即代码(Terraform)

对于偏好基础设施即代码工作流的团队,社区维护的 Terraform 方案提供了:
  • 带远程状态管理的模块化 Terraform 配置
  • 通过 cloud-init 自动化创建
  • 部署脚本(bootstrap、deploy、backup/restore)
  • 安全加固(防火墙、UFW、仅 SSH 访问)
  • 用于 gateway 访问的 SSH 隧道配置
仓库: 这种方式在上面的 Docker 设置基础上,补充了可复现部署、版本控制的基础设施和自动化灾难恢复。
由社区维护。如有问题或贡献,请参见上面的仓库链接。

下一步

相关内容