支持 curl 管道打开部署菜单。

服务器可直接拉取 deploy/manage.sh,克隆仓库后选择部署、卸载、更新或退出。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-10-10 21:58:06 +08:00
parent 2bbdb00a4d
commit 2a847263f2
4 changed files with 365 additions and 284 deletions
+21 -20
View File
@@ -2,17 +2,27 @@
适用于 Ubuntu 22.04。脚本只安装应用本身,监听 `0.0.0.0:33333`。Nginx、Caddy 或其他反代请自行配置,上游地址使用 `127.0.0.1:33333`。
## 1. 把代码放到服务器
## 1. 一条命令打开菜单
仓库地址:[https://git.bz121.com/dekun/HyperNode-AI.git](https://git.bz121.com/dekun/HyperNode-AI.git)
在 Ubuntu 22.04 服务器上执行。已经是 root 时:
```bash
git clone https://git.bz121.com/dekun/HyperNode-AI.git
cd HyperNode-AI
sudo bash deploy/ubuntu22.sh
curl -fsSL https://git.bz121.com/dekun/HyperNode-AI/raw/branch/main/deploy/manage.sh | bash
```
私有仓库克隆时需要你的 Gitea 账号。也可以用 scp 把整个项目目录上传到服务器,再进入该目录执行同一条命令。
当前用户不是 root 时:
```bash
curl -fsSL https://git.bz121.com/dekun/HyperNode-AI/raw/branch/main/deploy/manage.sh | sudo bash
```
脚本会把仓库克隆到 `/opt/hypernode`,然后打开菜单。已经安装过时,也可以直接运行:
```bash
bash /opt/hypernode/deploy/manage.sh
```
仓库需要能被服务器匿名读取。若上面的地址返回 401,到 Gitea 把仓库设为公开,或给部署机配置该仓库的读取权限。
## 2. 菜单
@@ -22,8 +32,8 @@ sudo bash deploy/ubuntu22.sh
|---|---|
| 1 一键部署 | 安装 Python 依赖、创建系统用户、写入 systemd,并启动服务 |
| 2 一键卸载 | 停止服务并删除程序。数据库要再输入一次 `yes` 才会删除 |
| 3 更新 | 用当前目录的代码覆盖 `/opt/hypernode`,重装依赖并重启。`.env` 和数据库保留 |
| 4 退出 | 离开脚本 |
| 3 更新 | 从仓库拉取最新代码,重装依赖并重启。`.env` 和数据库保留 |
| 0 退出 | 离开脚本 |
部署和更新结束时会请求 `http://127.0.0.1:33333/health`,失败会打印最近 50 行服务日志。
@@ -76,17 +86,8 @@ location / {
当前接口没有登录鉴权。反代若只在本机使用,云安全组不要对公网放行 33333。需要从外网直接访问时,再放行该端口,并在反代或安全组上限制来源。
## 5. 更新代码
## 5. 更新与卸载
在服务器上进入新的项目目录后重新打开菜单,选择 `3`:
再次执行同一条 `curl` 命令,或运行 `bash /opt/hypernode/deploy/manage.sh`。
```bash
cd /path/to/HyperNode-AI
sudo bash deploy/ubuntu22.sh
```
选择更新后,脚本把该目录同步到 `/opt/hypernode`,然后重启服务。
## 6. 卸载
菜单选择 `2`。先输入 `yes` 确认删除程序。是否删除 `/var/lib/hypernode` 会再问一次;直接回车会留下数据库。
选择 `3` 会执行 `git pull` 后重启服务。选择 `2` 会删除程序;是否删除 `/var/lib/hypernode` 会再问一次,直接回车会留下数据库。