Skip to content
yhdslPublic
forked from darthnorse/dockmon

About

DockMon 非官方简体中文项目

Resources

Stars

0 stars

Watchers

0 watching

Forks

 
 

Repository files navigation

DockMon - 非官方中文项目

一个功能全面的 Docker 容器监控与管理软件,提供实时容器或主机监控、智能重启、多渠道告警以及完整的事件日志管理。

本仓库为 DockMon 项目的非官方简体中文翻译版本,在原版的基础上进行了如下的修改:

  1. 完全支持简体中文,包括通知内容
  2. 添加了 UTC+8 时区的支持
  3. 修正原版 DockMon 不支持非英文标签、用户组的问题

一个快速上手的 docker-compose.yml 文件:

services:
  dockmon:
    image: yhdsl/dockmon:latest
    container_name: dockmon
    restart: unless-stopped
    ports:
      - "8001:443"
    environment:
      - TZ=Asia/Shanghai
    volumes:
      - dockmon_data:/app/data
      - /var/run/docker.sock:/var/run/docker.sock
    healthcheck:
      test: ["CMD", "curl", "-k", "-f", "https://localhost:443/health"]
      interval: 30s
      timeout: 10s
      retries: 3

volumes:
  dockmon_data:

DockMon Docker Python React Go License Buy Me A Coffee

DockMon Dashboard

核心特性

  • 多主机监控 - 支持监控任意数量的本地或远程 Docker 主机上的容器
  • 基于代理的远程监控 - 由 Go 编写的轻量级代理服务,无需暴露 Docker 端口即可安全监控远程主机,支持以容器或 systemd 服务形式运行
  • 实时仪表板 - 支持拖拽的可自定义仪表板组件,基于 WebSocket 实现实时更新
  • 实时统计信息 - 实时展示 CPU 使用率、内存使用率以及网络 I/O
  • 历史数据统计 - 可选的时间序列数据持久化功能,用于记录 CPU、内存和网络指标,最长可保留 90 天的历史数据。允许在主机和容器的弹出窗口中,浏览 5 分钟 / 1 小时 / 24 小时 / 7 天 / 30 天 / 60 天 / 90 天的历史图表。出于隐私考虑,此功能默认关闭,可在 设置 → 系统设置 页面中启用。
  • 实时容器日志 - 支持同时查看多个容器的实时日志流
  • 事件管理 - 提供完整的且实时更新的事件日志记录,支持过滤和搜索
  • 智能重启 - 基于容器配置的重启策略自动恢复异常退出的容器,并支持自定义重试逻辑
  • 告警功能 - 支持 Discord、Slack、Telegram、Pushover、Gotify 和 SMTP,允许自定义通知模板
  • 容器标签 - 基于 Docker 标签自动生成容器标签,并支持自定义标签管理
  • 批量操作 - 支持批量启动、停止、重启容器,并提供实时进度反馈
  • 堆栈管理 - 支持创建、编辑 Docker Compose 堆栈并部署至本地或远程主机,支持从运行中的容器或主机文件系统导入现有堆栈,并提供实时部署进度及分层镜像拉取跟踪
  • 自动更新 - 按计划检测并更新容器镜像版本
  • HTTP/HTTPS 健康检查 - 支持对容器自定义监控 URL 进行健康检查,并在失败时自动重启
  • 维护黑窗 - 在计划维护期间抑制告警通知
  • 多用户支持 - 基于角色的访问控制 (RBAC),支持自定义用户组、细粒度权限管理以及用户控制
  • OIDC/SSO 集成 - 支持通过任意 OIDC 提供商 (如 Authentik、Keycloak、Okta、Entra ID、Auth0) 实现单点登录,支持用户组同步及可选的审批流程
  • API 密钥 - 提供基于用户组权限控制的 API 访问,支持 IP 限制及过期策略
  • 安全设计 - 基于会话认证、限流机制、远程主机 mTLS,并使用 Alpine Linux 镜像构建

参考文档 (英文)

官方支持与社区

技术栈

后端

  • 使用 Python 3.13,结合 FastAPI 与 async/await
  • 基于 Alpine Linux 3.x 构建的容器 (降低攻击面)
  • 使用 OpenSSL 3.x 提供现代加密能力
  • 采用 SQLAlchemy 2.0 与 Alembic 实现数据库迁移管理
  • 使用 Go 1.23 构建统计服务,实现实时指标传输

前端

  • 使用 React 18.3 + TypeScript (严格模式,零 any)
  • 通过 Vite 提供快速开发构建
  • 使用 TanStack Table 构建数据表格
  • 使用 React Grid Layout 实现自定义仪表盘布局
  • 采用 Tailwind CSS 进行样式设计

基础设施

  • 多阶段 Docker 构建: 整合 Go 统计服务 + React 前端 + Python 后端
  • 使用 Supervisor 进行进程管理
  • 通过 Nginx 作为反向代理并支持 SSL/TLS
  • 使用 WebSocket 实现实时更新
  • 为所有服务配置健康检查功能

贡献 (原项目)

欢迎贡献!无需签署 CLA 协议 - 只需提交 PR 即可!

提交贡献即表示你同意: 你的贡献将按照与原项目相同的 BSL 1.1 许可条款进行授权。

开发

想参与代码贡献或在开发模式下运行 DockMon?

请查看 Development Setup 页面以了解:

  • 如何配置本地开发环境
  • 项目架构概览
  • 运行测试
  • 从源码构建

许可证

Business Source License 1.1 - see LICENSE file for full details.

作者

Created by darthnorse

由 YHDSL 汉化并维护

Acknowledgments

This project has been developed with vibe coding and AI assistance using Claude Code. The codebase includes clean, well-documented code with proper error handling, comprehensive testing considerations, modern async/await patterns, robust database design, and production-ready deployment configurations.


If DockMon helps you, please consider giving it a star or supporting the project!

Buy Me A Coffee

Documentation • Issues • Discussions

About

DockMon 非官方简体中文项目

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages