Skip to content

快速开始

这条路径适合第一次部署 Zeno:安装 Controller、配置 HTTPS、登录后台,再接入第一台 Agent。完整的参数、权限和反向代理说明见 自部署指南

准备条件

项目要求
Controller 主机Linux amd64arm64arm/v6
容器环境Docker Engine 24+、Docker Compose 2.20+
建议资源1 vCPU、512 MiB 可用内存、1 GiB 可用磁盘起
公网入口一个可用域名和 HTTPS 反向代理
权限root,或能够使用 sudo

不要直接暴露端口

Controller 默认监听 127.0.0.1:18980。不要为了省事改成公网监听;请通过 Caddy、Nginx 或其他 HTTPS 反向代理提供入口。

1. 安装 Controller

bash
(
  set -Eeuo pipefail
  installer=$(mktemp)
  trap 'rm -f "$installer"' EXIT
  curl -fsSL https://zeno.shuijiao.de/install.sh -o "$installer"
  sudo bash "$installer"
)

安装器会创建受管理的 Compose 配置、SQLite 数据、管理员 bootstrap 凭据、Agent 凭据和备份目录。仓库根目录的 docker-compose.yml 只是安装器模板,不是可直接 docker compose up 的完整安装包。

验证本机服务:

bash
curl -fsS http://127.0.0.1:18980/health
curl -fsS http://127.0.0.1:18980/ready

两个接口都应成功返回;/ready 不通过时先不要继续接入 Agent。

2. 配置 HTTPS

Caddy 最小示例:

text
zeno.example.com {
    reverse_proxy 127.0.0.1:18980
}

Nginx 需要同时转发 WebSocket upgrade header,完整示例见 配置 HTTPS 入口

公网验证:

bash
curl -fsS https://zeno.example.com/ready

证书必须有效,不能用浏览器“忽略证书错误”代替正式配置。

3. 首次登录

bootstrap Admin 凭据保存在 Controller 主机:

bash
sudo cat /opt/zeno/secrets/zeno_admin_token

打开:

text
https://zeno.example.com/dashboard

使用账号 admin 和 bootstrap 凭据登录。登录后到“账户”修改账号和密码;不要把 bootstrap 凭据放进 URL、聊天记录、Issue 或日志。

4. 设置 Agent 接入地址

在后台“设置”中填写 Agent 能访问的 Controller 地址:

text
https://zeno.example.com

不要填写 /dashboard、API 路径、query 或 fragment。远程 Agent 默认应使用 HTTPS。

5. 接入第一台服务器

  1. 打开后台“服务器”。
  2. 添加服务器并填写显示名、地区、流量口径、月重置日、配额、续费金额和到期信息。
  3. 打开服务器编辑弹窗,点击“复制安装命令”。
  4. 选择目标平台,在对应服务器执行完整命令。
  5. 回到 Zeno,等待节点从 no_data 变为 onlinewarning

安装命令包含一次性 enrollment 凭据,不要粘贴到公开 Issue、日志或截图中。平台和版本支持范围见 兼容性

6. 完成检查

部署完成至少确认:

  • /health/ready 正常;
  • 公网 HTTPS 证书有效;
  • /dashboard 可登录并已更改管理员密码;
  • Agent 接入地址正确;
  • 第一台服务器开始显示 CPU、内存、磁盘和网络数据;
  • 页面在桌面和手机上无横向溢出;
  • 已建立一次完整离线备份。

下一步:

基于 MIT License 发布