Files
project-panel/README.md

188 lines
4.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 项目服务管理面板
统一的 Web 服务项目管理平台支持项目监控、系统资源监控、Cron 任务管理。
## 版本信息
- **当前版本**: v3.4.1
- **端口**: 16022
- **更新日期**: 2026-06-01
## 功能特性
### 1. 项目服务管理
- 📊 项目状态实时监控
- 🚀 一键启动/停止/重启服务
- 🔗 自定义链接入口
- 📝 项目配置管理
- 🌐 外部服务监控
### 2. 系统资源监控
- 💻 CPU 使用率 + 温度监控
- 🎯 内存使用率
- 💾 磁盘使用率
- 📡 网络上传/下载速度
- ⏱️ 实时监控模式
- ⚠️ 预警阈值设置
### 3. Cron 任务管理
- 📋 任务列表查看
- 添加/编辑/删除任务
- 🔄 启用/禁用切换
- 📚 版本历史记录
- 🔙 回退到历史版本
- 🔗 从系统 crontab 同步
### 4. 配置管理
- 📤 导出完整配置JSON
- 📥 导入配置文件
- ⚙️ 统一配置文件管理
- 💾 自动备份旧配置
## 项目结构(模块化)
```
project-panel/
├── app_main.py # 主入口文件
├── config.py # 配置常量
├── database.py # 数据库操作
├── utils.py # 工具函数
├── routes_cron.py # Cron 管理 API
├── routes_system.py # 系统监控 API
├── routes_config.py # 配置管理 API
├── routes_email.py # 邮件通知 API
├── routes_project.py # 项目管理 API
├── templates.py # HTML 模板
├── projects.json # 项目配置文件
├── alert_config.json # 预警和网页设置
├── cron_manager.db # Cron 任务数据库
└── logs/ # 日志目录
```
## 配置文件说明
### projects.json
```json
{
"server": {
"name": "服务器名称",
"description": "服务器描述"
},
"projects": [
{
"id": "项目ID",
"name": "项目名称",
"type": "web",
"ports": [],
"directory": "工作目录",
"start_cmd": "启动命令",
"stop_cmd": "停止命令",
"health_url": "健康检查URL",
"description": "项目描述"
}
],
"external_services": [...]
}
```
### alert_config.json
```json
{
"thresholds": {
"cpu": 80,
"memory": 85,
"disk": 90,
"interval": 60
},
"web_settings": {
"external_ip": "121.40.164.32",
"refresh_interval": 30
}
}
```
## API 接口
### 项目管理
- `GET /api/projects` - 获取项目列表
- `POST /api/projects/<id>/start` - 启动项目
- `POST /api/projects/<id>/stop` - 停止项目
- `POST /api/projects/<id>/restart` - 重启项目
- `POST /api/projects/add` - 添加项目
### 系统监控
- `GET /api/system/stats` - 获取系统资源信息
- `GET /api/system/processes` - 获取进程列表
- `GET /api/system/docker` - 获取 Docker 容器状态
### Cron 管理
- `GET /api/cron/tasks` - 获取任务列表
- `POST /api/cron/tasks` - 添加任务
- `PUT /api/cron/tasks/<id>` - 更新任务
- `DELETE /api/cron/tasks/<id>` - 删除任务
- `POST /api/cron/tasks/<id>/toggle` - 启用/禁用
- `POST /api/cron/sync` - 从系统同步
### 配置管理
- `GET /api/config/export` - 导出配置
- `POST /api/config/import` - 导入配置
- `GET /api/web-settings` - 获取网页设置
- `POST /api/web-settings` - 保存网页设置
### 预警配置
- `GET /api/alerts` - 获取预警配置
- `POST /api/alerts` - 保存预警配置
## 使用方法
### 启动服务
```bash
python3 app_main.py
```
### 访问面板
打开浏览器访问:`http://localhost:16022/`
### 导出配置
点击页面头部"导出配置"按钮,下载 JSON 配置文件
### 导入配置
点击"导入配置"按钮,上传配置文件即可应用
## 依赖项
- Python 3.12+
- Flask
- psutil (系统监控)
- croniter (Cron 表达式解析)
## 更新日志
### v3.4.1 (2026-06-01)
- 🎯 **模块化重构**: 将 3700+ 行单文件拆分为多个模块
- 📁 **清晰结构**: config、database、utils、routes、templates 分离
- 🔧 **易于维护**: 每个模块职责明确,便于扩展和维护
-**功能完整**: 保留所有原有网页功能
### v3.4.0 (2026-06-01) [已废弃]
- 🎯 **模块化重构**: 将 3700+ 行单文件拆分为多个模块
- 📁 **清晰结构**: config、database、utils、routes、templates 分离
- 🔧 **易于维护**: 每个模块职责明确,便于扩展和维护
### v3.3.5 (2026-06-01)
- ✨ 统一配置文件管理
- 📤 配置导入/导出功能
- 🔄 Cron 任务同步优化(清空旧任务)
- ⚙️ 网页设置持久化
### v3.3.4
- 🌐 对外 IP 默认值调整
- 🐛 Bug 修复
## 开发者
黄庄4号程序员 - hz4th_coder@tphai.com
## 许可证
内部使用项目