chore(deploy): 删除 EC2 部署栈,转向 RackNerd 自建节点栈

EC2(marzban 共存)分发面不再由本仓库管理,全面转向新 VPS 自建。删除:
- deploy/{edge,singbox,xray,certbot,backup,scripts,docker-compose.yml,.env.example,README.md}
- .gitea/workflows/deploy.yml(EC2 自动部署 CD)
- ci/nginx-test.sh(edge nginx 校验)
保留 deploy/{bootstrap,single-node}(新节点初始化 + 全套自建)。

ci.yml 去掉 EC2 相关 job(compose/nginx 校验、edge 镜像构建),
shellcheck 改为校验 bootstrap/single-node 脚本;openapi/脱敏/flutter 不变。
deadman-watch 的"EC2"特指改为"任意常在线主机"。

注:EC2 上正在跑的服务不受影响(仅本仓库不再管理它)。文档(CLAUDE.md、
docs/回滚手册.md、app/kernel/poc/README.md)仍引用旧栈,待单独更新。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
wangjia
2026-06-18 06:55:25 +08:00
parent ff9a40277d
commit bf81c786b2
35 changed files with 16 additions and 2280 deletions
+3 -3
View File
@@ -41,11 +41,11 @@ ssh racknerd 'cd /root/bootstrap && bash init.sh'
- **节点侧**`pangolin-monitor`(本机 systemd timer,每 `MONITOR_INTERVAL_MIN` 分钟):
采 CPU/内存/磁盘、受监控 systemd 单元存活(`MONITOR_UNITS`)、出网连通;
**越界/掉线/断网 → 🔴 必报;正常 → 🟢**(心跳是否推送由 `MONITOR_SEND_OK_PULSE` 控制)。
- **死信(不上报/宕机)**:节点宕了自己报不了,需在**常在线主机(EC2)**跑 `deadman-watch.sh`
主动探活补这层:
- **死信(不上报/宕机)**:节点宕了自己报不了,需在**任意一台常在线主机**(另一台节点 /
家里服务器 / 监控机)跑 `deadman-watch.sh` 主动探活补这层:
```bash
# 在 EC2
# 在那台常在线主机
sudo install -m 755 deploy/bootstrap/monitor/deadman-watch.sh /usr/local/bin/deadman-watch
sudo cp deploy/bootstrap/deadman.env.example /etc/pangolin-deadman.env && sudo vi /etc/pangolin-deadman.env
# 每 3 分钟探一次(用户 cron 即可,无需 root)
+4 -3
View File
@@ -1,13 +1,14 @@
#!/usr/bin/env bash
# deadman-watch —— 死信守望。放在【常在线主机】(如 EC2)上,主动 TCP 探活各节点端口;
# 连续失败到阈值 → 告警(节点宕机/不上报时,节点自己报不了,这层补上)。恢复也通知。
# deadman-watch —— 死信守望。放在【任意一台常在线主机】(另一台节点 / 家里服务器 / 监控机)
# 上,主动 TCP 探活各节点端口;连续失败到阈值 → 告警(节点宕机/不上报时自己报不了,
# 这层补上)。恢复也通知。
#
# 配置 /etc/pangolin-deadman.env:
# TELEGRAM_BOT_TOKEN=... TELEGRAM_CHAT_ID=...
# NODES="racknerd-la=107.172.55.251:443 tokyo=1.2.3.4:443" # name=host:port 空格分隔
# FAIL_THRESHOLD=2 # 连续失败几次才告警(去抖)
#
# EC2 上每 3 分钟跑一次(cron,用户态即可):
# 在该常在线主机上每 3 分钟跑一次(cron,用户态即可):
# */3 * * * * /usr/local/bin/deadman-watch >/dev/null 2>&1
set -uo pipefail