一个全面的Docker容器监控和管理平台,具备实时监控、智能自动重启、多渠道告警和完整事件日志功能。
!DockMon
!Docker
!Python
!React
!Go
!License

- 实时仪表板 - 支持拖放的可自定义组件,通过WebSocket实时更新
- 实时统计 - 实时CPU、内存、网络指标
- 实时容器日志 - 同时查看多个容器的日志并实时更新
- 事件查看器 - 带过滤、搜索和实时更新功能的全面审计跟踪
- 智能自动重启 - 按容器设置自动重启,支持可配置的重试逻辑
- 高级告警 - 、Slack、、Pushover、Gotify、SMTP告警,支持自定义模板
- 容器标记 - 从Docker标签自动派生标记,支持用户自定义标记
- 批量操作 - 同时启动、停止、重启多个容器,带进度跟踪
- 容器部署 - 部署容器到本地和远程主机。支持Docker Run风格部署及Docker Compose,包括创建重复部署模板的功能
- 自动更新 - 按计划检测并执行容器镜像更新
- HTTP/HTTPS健康检查 - 自定义端点监控,故障时自动重启
- 静默窗口 - 安排维护时段以抑制告警
- 安全设计 - 基于会话的认证、速率限制、远程主机mTLS加密、Alpine Linux基础镜像
文档
- https://github.com/darthnorse/dockmon/wiki - 完整文档
- https://github.com/darthnorse/dockmon/wiki/Quick-Start - 5分钟内开始使用
- https://github.com/darthnorse/dockmon/wiki/Installation - Docker、unRAID、Synology、QNAP安装指南
- https://github.com/darthnorse/dockmon/wiki/Notifications - 告警、通知、设置
- https://github.com/darthnorse/dockmon/wiki/Security-Guide - 最佳实践和mTLS设置
- https://github.com/darthnorse/dockmon/wiki/Remote-Docker-Setup - 监控远程Docker主机
- https://github.com/darthnorse/dockmon/wiki/Event-Viewer - 带过滤功能的全面审计跟踪
- https://github.com/darthnorse/dockmon/wiki/Container-Logs - 实时多容器日志查看器
- https://github.com/darthnorse/dockmon/wiki/API-Reference - REST和WebSocket API
- https://github.com/darthnorse/dockmon/wiki/FAQ - 常见问题解答
- https://github.com/darthnorse/dockmon/wiki/Troubleshooting - 常见问题解决
支持与社区
- https://github.com/darthnorse/dockmon/issues - 发现错误?
- https://github.com/darthnorse/dockmon/discussions - 提问、分享想法
- https://github.com/darthnorse/dockmon/wiki - 完整文档
- https://github.com/darthnorse/dockmon - 表示支持!
- 请我喝杯咖啡 - 支持项目开发
技术栈
后端
- 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 实时更新
- 健康检查 所有服务
从v1升级到v2
重大变更
- 告警规则:旧告警规则必须使用新告警系统重新创建
- mTLS证书:由于Alpine对OpenSSL 3.x的更严格要求,需重新生成证书
- 数据库模式:从v1.1.3到v2.0.0的自动一次性迁移
保留数据
- ✅ 主机及其配置
- ✅ 容器和容器历史记录
- ✅ 事件日志和审计跟踪
- ✅ 用户账户和偏好设置
升级后步骤
- 为远程主机重新生成mTLS证书(参见https://github.com/darthnorse/dockmon/wiki/Security-Guide#mtls-setup%EF%BC%89
- 使用新告警系统重新创建告警规则
- 升级后验证主机连接
详见https://github.com/darthnorse/dockmon/wiki/Migration-Guide%E8%8E%B7%E5%8F%96%E8%AF%A6%E7%BB%86%E8%AF%B4%E6%98%8E%E3%80%82
贡献
欢迎贡献!无需签署贡献者许可协议(CLA) - 只需提交PR!
- 通过https://github.com/darthnorse/dockmon/issues%E6%8A%A5%E5%91%8A%E9%94%99%E8%AF%AF
- 在https://github.com/darthnorse/dockmon/discussions%E4%B8%AD%E6%8F%90%E9%97%AE%E3%80%81%E5%88%86%E4%BA%AB%E6%83%B3%E6%B3%95
- 改进文档(编辑https://github.com/darthnorse/dockmon/wiki%EF%BC%89
- 提交拉取请求(参见https://github.com/darthnorse/dockmon/wiki/Contributing%EF%BC%89
贡献即表示您同意您的贡献按与项目相同的BSL 1.1条款授权。
开发
想贡献代码或在开发模式下运行DockMon?
参见https://github.com/darthnorse/dockmon/wiki/Development-Setup%E4%BA%86%E8%A7%A3%EF%BC%9A
许可证
业务源代码许可证1.1(BSL 1.1) - 详见LICENSE文件
许可说明:
✅ 您可以使用DockMon:
- 用于公司内部使用(任何规模)
- 个人项目
- 作为咨询/MSP服务的一部分监控客户基础设施
- 分叉、修改和自定义自用
- 向项目贡献改进
❌ 您不得:
- 将DockMon作为SaaS产品提供给第三方
- 将DockMon嵌入销售给他人的商业监控平台
- 提供DockMon托管服务作为独立商业服务
未来开源计划:
2年后(变更日期:2027-01-01),每个版本将自动转换为Apache许可证2.0,成为完全许可的开源软件,包含明确的专利授权。
为何使用BSL:
BSL保护项目免受直接商业竞争,同时保持对贡献者友好:
- 无需CLAs - 标准GitHub工作流
- 最终成为开源 - 建立社区信任
- 允许所有合法使用 - 仅阻止竞争性SaaS产品
- 被Sentry、CockroachDB、MariaDB等主要项目成功采用
作者
由https://github.com/darthnorse%E5%88%9B%E5%BB%BA
致谢
本项目通过氛围编码和AI辅助(使用Claude Code)开发。代码库包含整洁、文档完善的代码,具备适当的错误处理、全面的测试考虑、现代async/await模式、健壮的数据库设计和生产级部署配置。
如果DockMon对您有帮助,请考虑给它点星或支持项目!
https://github.com/darthnorse/dockmon/wiki •
https://github.com/darthnorse/dockmon/issues •
https://github.com/darthnorse/dockmon/discussions