Files
project-panel/app.py
hz4th_coder 78a4a3f1aa feat: Docker 监控面板
后端 API (routes_docker.py):
- /api/docker/containers - 容器列表(状态+资源stats: CPU/内存/网络I/O/磁盘I/O/进程数)
- /api/docker/container/<id>/stats - 单容器实时资源
- /api/docker/images - 镜像列表(大小/时间/悬空标记)
- /api/docker/system - 系统信息(版本/磁盘占用)
- /api/docker/container/<id>/start|stop|restart - 容器控制
- /api/docker/container/<id>/logs - 容器日志
- /api/docker/prune - 资源清理

前端 Docker 监控 Tab:
- 统计卡片: 总容器/运行中/已停止/镜像数/磁盘占用/可回收
- 容器列表: 状态灯+CPU/内存/NET IO/磁盘IO/端口/运行时间
- 操作按钮: 启动/停止/重启/查看日志
- 镜像列表: 有效镜像+悬空镜像分区显示
- 清理: 容器/镜像/全部一键清理
2026-06-01 18:01:17 +08:00

51 lines
1.3 KiB
Python

#!/usr/bin/env python3
"""
项目服务管理面板 - 主入口
模块化重构版本 v3.4.0
"""
from flask import Flask
from config import APP_NAME, APP_VERSION, APP_PORT
from database import init_db, close_db
from utils import log_message
from routes_cron import register_cron_routes
from routes_system import register_system_routes
from routes_config import register_config_routes
from routes_email import register_email_routes
from routes_project import register_project_routes
from routes_docker import register_docker_routes
from templates import get_html_template
# 创建 Flask 应用
app = Flask(__name__)
def init_app():
"""初始化应用"""
# 注册数据库钩子
app.teardown_appcontext(close_db)
# 注册路由
register_cron_routes(app)
register_system_routes(app)
register_config_routes(app)
register_email_routes(app)
register_project_routes(app)
register_docker_routes(app)
# 主页路由
@app.route('/')
def index():
return get_html_template()
# 初始化数据库
init_db()
log_message(f"{APP_NAME} {APP_VERSION} 初始化完成")
if __name__ == '__main__':
init_app()
log_message(f"启动 {APP_NAME},端口: {APP_PORT}")
app.run(host='0.0.0.0', port=APP_PORT, debug=False)