在 Hetzner 上运行 OpenClaw(Docker,生产 VPS 指南)
目标
使用 Docker 在 Hetzner VPS 上运行持久化的 OpenClaw Gateway,拥有持久状态、内置二进制文件和安全的重启行为。 如果你想要“以约 5 美元的价格全天候运行 OpenClaw”,这就是最简单且可靠的方案。Hetzner 价格会变动;选择最小的 Debian/Ubuntu VPS,内存不足时再升级。 安全模型提醒:
- 当大家处于同一信任边界且运行环境仅用于业务时,公司共享代理是可行的。
- 保持严格隔离:专用 VPS/运行环境 + 专用账户;不要在该主机上使用个人 Apple/Google/浏览器/密码管理器配置。
- 如果用户间存有对抗,按网关/主机/操作系统用户进行隔离。
我们要做什么(简单说)?
- 租用一个小型 Linux 服务器(Hetzner VPS)
- 安装 Docker(隔离应用运行环境)
- 在 Docker 中启动 OpenClaw Gateway
- 将
~/.openclaw+~/.openclaw/workspace持久化到主机(可在重启/重建后保留) - 通过 SSH 隧道从你的笔记本访问控制界面
- 通过笔记本的 SSH 端口转发访问
- 如果你自行管理防火墙和令牌,也可直接暴露端口
如果是其他 Linux VPS,请相应映射软件包。
通用 Docker 流程参见 Docker。
快速通道(经验丰富的操作员)
- 配置 Hetzner VPS
- 安装 Docker
- 克隆 OpenClaw 仓库
- 创建持久化主机目录
- 配置
.env和docker-compose.yml - 将所需二进制文件打包进镜像
docker compose up -d启动- 验证持久化和 Gateway 访问
所需条件
- 可 root 登录的 Hetzner VPS
- 从笔记本能通过 SSH 访问
- 基本 SSH 及复制粘贴能力
- 大约 20 分钟时间
- Docker 和 Docker Compose
- 模型认证凭证
- 可选提供者凭证
- WhatsApp 二维码
- Telegram 机器人令牌
- Gmail OAuth
1) 配置 VPS
在 Hetzner 创建一台 Ubuntu 或 Debian VPS。 以 root 用户连接:不要把它当作一次性基础设施。
2) 在 VPS 上安装 Docker
3) 克隆 OpenClaw 仓库
4) 创建持久化主机目录
Docker 容器是短暂的。所有持久状态必须保存在主机上。
5) 配置环境变量
在仓库根目录创建.env 文件。
6) Docker Compose 配置
创建或更新docker-compose.yml。
--allow-unconfigured 仅为启动便利,不是替代正确 Gateway 配置。仍需设置认证(gateway.auth.token 或密码)并为部署使用安全绑定设置。
7) 将所需二进制文件打包进镜像(关键)
在运行容器中安装二进制文件是陷阱。运行时安装的内容重启后会丢失。 所有技能所需的外部二进制都必须在镜像构建时安装。 下面示例只展示三个常用二进制:
- 用于 Gmail 访问的
gog - 用于 Google Places 的
goplaces - 用于 WhatsApp 的
wacli
你可以用相同方式安装任意数量的二进制文件。 以后新增依赖额外二进制的技能须:
- 更新 Dockerfile
- 重新构建镜像
- 重启容器
8) 构建并启动
9) 验证 Gateway
http://127.0.0.1:18789/
粘贴你的 gateway 令牌。
各部分持久化位置(事实来源)
OpenClaw 在 Docker 中运行,但 Docker 不是事实来源。所有持久状态必须能在重启、重建和重启后保留。
| 组件 | 位置 | 持久化机制 | 备注 |
|---|---|---|---|
| Gateway 配置 | /home/node/.openclaw/ | 主机卷挂载 | 包含 openclaw.json、令牌 |
| 模型认证配置 | /home/node/.openclaw/ | 主机卷挂载 | OAuth 令牌、API 密钥 |
| 技能配置 | /home/node/.openclaw/skills/ | 主机卷挂载 | 单技能级别状态 |
| 代理工作空间 | /home/node/.openclaw/workspace/ | 主机卷挂载 | 代码和代理产物 |
| WhatsApp 会话 | /home/node/.openclaw/ | 主机卷挂载 | 保留二维码登录 |
| Gmail 密钥环 | /home/node/.openclaw/ | 主机卷 + 密码 | 需 GOG_KEYRING_PASSWORD |
| 外部二进制文件 | /usr/local/bin/ | Docker 镜像 | 必须在构建时内置 |
| Node 运行时 | 容器文件系统 | Docker 镜像 | 每次构建镜像时重建 |
| 操作系统包 | 容器文件系统 | Docker 镜像 | 禁止运行时安装 |
| Docker 容器 | 短暂 | 可重启 | 可安全销毁 |
基础设施即代码(Terraform)
对于偏好基础设施即代码流程的团队,社区维护的 Terraform 配置提供:- 模块化 Terraform 配置,支持远程状态管理
- 基于 cloud-init 的自动化配置
- 部署脚本(引导、部署、备份/恢复)
- 安全加固(防火墙、UFW、仅限 SSH 访问)
- Gateway 访问的 SSH 隧道配置
- 基础设施配置:openclaw-terraform-hetzner
- Docker 配置:openclaw-docker-config
注意: 社区维护。如遇问题或需贡献,请参见上述仓库链接。