# 项目服务管理面板 统一的 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//start` - 启动项目 - `POST /api/projects//stop` - 停止项目 - `POST /api/projects//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/` - 更新任务 - `DELETE /api/cron/tasks/` - 删除任务 - `POST /api/cron/tasks//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 ## 许可证 内部使用项目