🛡️ SpartanHost Monitor (Universal Edition)
一款专为 Spartan Host 设计的工业级库存监控系统,支持多平台 Linux 自动适配。提供交互式部署流程、自动邮件提醒及 RESTful API 支持,能够轻松完成库存监控应用的搭建。
🚀 技术栈支持
✨ 核心特性
- 全系统适配:一键支持 Ubuntu, Debian, CentOS, AlmaLinux, Rocky, Fedora。
- 交互式部署:安装时动态配置邮箱及密码,实现零代码基础配置。
- 智能提醒:支持 Gmail 等 SMTP 服务,内置防骚扰冷却机制。
- 安全加固:管理密码支持自定义或强随机生成,接口受鉴权保护。
- 进程守护:基于 PM2 实现开机自启、崩溃重启及实时日志监控。
- RESTful API:预留库存数据及订阅者管理接口,方便二次开发。
🚀 快速开始
1️⃣ 克隆项目 (Git 方式)
git clone https://github.com/yokopro/spartanhost-monitor.git cd spartanhost-monitor
2️⃣ 执行一键部署脚本
将自动识别系统环境并安装 Node.js 与 PM2。
# 修复换行符并赋予权限 sed -i 's/\r$//' deploy.sh && chmod +x deploy.sh # 运行交互式安装 ./deploy.sh
3️⃣ 查看管理密码
如果在安装时选择了随机生成密码,请运行以下命令查看密码:
pm2 logs spartan-monitor --lines 50
🛠️ 运维管理指令
| 需求 | 指令 |
|---|---|
| 实时日志 | pm2 logs spartan-monitor |
| 状态面板 | pm2 status |
| 重启应用 | pm2 restart spartan-monitor |
| 停止监控 | pm2 stop spartan-monitor |
| 资源监控 | pm2 monit |
| 彻底卸载 | pm2 delete spartan-monitor && rm -rf $(pwd) |
🔗 API 接口文档
系统默认运行在 3000 端口。
1️⃣ 实时库存数据
- Endpoint:
GET /api/stock - 说明: 返回当前监控的所有产品及其库存状态。
2️⃣ 查看订阅者清单
- Endpoint:
GET /api/subscribers - 认证: 需在
Request Header中添加:password: 你的管理密码
3️⃣ 系统健康检查
- Endpoint:
GET /health
📂 项目结构
├── public/ # Web 前端页面 (订阅及展示)
├── server.js # 后端核心逻辑与 API 服务
├── config.js # 自动生成的配置文件 (由 deploy.sh 生成)
├── deploy.sh # 终极全能交互式部署脚本
├── package.json # 项目依赖清单
└── subscribers.json # 订阅用户数据存储 (本地 JSON)
⚠️ 注意事项
- Gmail 用户:
- 请务必开启“两步验证”并使用 16 位应用专用密码,而非邮箱登录密码。
- 防火墙设置:
- 本脚本会自动尝试开放 3000 端口,若无法访问,请检查云服务商的安全组设置。
- 隐私保护:
.gitignore已默认忽略config.js,请勿手动取消,防止授权码泄露至公共仓库。
联系我
📧邮件:mail.yaoyuan(@)gmail.com 如果还有其他需求或特色添加,请随时告诉我! 😊