- 当所有人都处于同一信任边界内且运行时仅用于业务时,共享公司的 agent 是可以的。
- 保持严格隔离:专用 VPS/运行时 + 专用账户;该主机上不要有个人的 Apple/Google/浏览器/密码管理器配置文件。
- 如果用户彼此具有对抗性,请按 gateway/host/OS 用户进行拆分。
你需要的内容
- 具有 root 访问权限的 Hetzner VPS
- 从你的笔记本电脑进行 SSH 访问
- Docker 和 Docker Compose
- 模型认证凭据
- 可选的提供商凭据(WhatsApp QR、Telegram 机器人 token、Gmail OAuth)
- 约 20 分钟
快速路径
- Provision Hetzner VPS
- 安装 Docker
- 克隆 OpenClaw 仓库
- 创建持久化主机目录
- 配置
.env和docker-compose.yml - 将所需二进制文件烘焙进镜像
docker compose up -d- 验证持久化和 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;如果你切换为密码认证,请改用你配置的密码。基础设施即代码(Terraform)
对于偏好基础设施即代码工作流的团队,社区维护的 Terraform 方案提供了:- 带远程状态管理的模块化 Terraform 配置
- 通过 cloud-init 自动化创建
- 部署脚本(bootstrap、deploy、backup/restore)
- 安全加固(防火墙、UFW、仅 SSH 访问)
- 用于 gateway 访问的 SSH 隧道配置
- 基础设施:openclaw-terraform-hetzner
- Docker 配置:openclaw-docker-config
由社区维护。如有问题或贡献,请参见上面的仓库链接。
下一步
- 设置消息通道:Channels
- 配置 Gateway:Gateway configuration
- 保持 OpenClaw 最新:Updating