跳转至

Hetzner

在 Debian 或 Ubuntu Hetzner VPS 上运行持久化的 OpenClaw Gateway。本页介绍 Hetzner 的服务器配置、主机安全和访问;共享的 Docker VM runtime 页面则负责容器设置、持久化、自定义二进制文件、验证和更新。

请将 VPS 视为有状态的基础设施。不要让个人浏览器、Apple、Google 和密码管理器配置文件出现在公司共享的运行时中。如果用户不共享同一信任边界,请将他们拆分到不同的 Gateway、主机或操作系统用户中。参见 Gateway security 和 VPS hosting。

准备事项

  • 一台具有 root 访问权限的 Hetzner VPS
  • 从你的笔记本电脑通过 SSH 访问
  • 一个 Hetzner Cloud Firewall 或主机防火墙
  • 模型及可选的渠道凭据
  • 大约 20 分钟

创建并加固 VPS

1. 创建服务器

在 Hetzner Cloud 中,创建一台至少 6 GB RAM 的 Debian 或 Ubuntu 服务器,用于源码镜像构建。如果使用较小服务器,请使用 Docker VM runtime 中描述的官方预构建镜像。在配置期间添加你的 SSH 密钥。

以 root 身份连接:

ssh root@<vps-ip>

2. 限制入站流量

附加一个 Hetzner Cloud Firewall,允许来自你管理网络的 TCP 22。不要为 TCP 18789 添加入站规则;下文中的隧道通过 SSH 访问该端口。

如果你还在主机上使用 UFW,请在启用之前允许 SSH:

apt-get update
apt-get install -y ufw
ufw allow OpenSSH
ufw enable
ufw status verbose

如果你有意通过反向代理或 tailnet 发布 Gateway,请遵循 Gateway security,而不是将容器端口直接开放到 0.0.0.0/0。

3. 安装 Docker

apt-get update
apt-get install -y git curl ca-certificates
curl -fsSL https://get.docker.com | sh
docker --version
docker compose version

配置 Docker 运行时

在 VPS 上,按照 Docker VM runtime 从开始之前到验证并管理 Gateway 进行操作。维护好的设置脚本默认使用以下 root 拥有的主机路径:

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 或退出代码 137 结束,请在重试前调整服务器规格。有关二进制烘焙、完整持久化映射和更新命令,请参阅共享指南。

访问控制界面

首先确认 VPS SSH 守护进程允许本地端口转发。在 /etc/ssh/sshd_config 中,使用:

AllowTcpForwarding local

local 允许从你的笔记本电脑进行 ssh -L,同时阻止来自服务器的远程转发。更改后,验证并重启 SSH:

sshd -t
systemctl restart ssh

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

ssh -N -L 18789:127.0.0.1:18789 root@<vps-ip>

打开 http://127.0.0.1:18789/ 并粘贴 VPS .env 中的 Gateway token。要重新打印仪表板 URL 或批准浏览器设备,请在 VPS 上运行:

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>

如果隧道因 administratively prohibited 而失败,请重新检查 AllowTcpForwarding 和 SSH 服务配置。云防火墙只需允许 SSH,不需要允许端口 18789。

基础设施即代码

对于偏好 Terraform 的团队,社区维护的项目提供了远程状态、cloud-init 配置、部署与备份脚本、防火墙加固以及 SSH 隧道设置:

Note

这些仓库由社区维护。请在其各自的仓库中报告问题并做出贡献。

后续步骤

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