后端 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/端口/运行时间 - 操作按钮: 启动/停止/重启/查看日志 - 镜像列表: 有效镜像+悬空镜像分区显示 - 清理: 容器/镜像/全部一键清理
51 lines
1.3 KiB
Python
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) |