merlijntishauser/unifi-homelab-ops

GitHub: merlijntishauser/unifi-homelab-ops

一款自托管的 UniFi 网络伴侣应用,提供防火墙规则分析、实时拓扑可视化、设备指标监控、机架规划和 AI 驱动的健康评估,弥补原生控制台在深度可见性方面的不足。

Stars: 1 | Forks: 0

# UniFi Homelab Ops [![CI](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/253b5349c6201359.svg)](https://github.com/merlijntishauser/unifi-homelab-ops/actions/workflows/ci.yml) [![Docker](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/f55b3cd5c0201359.svg)](https://github.com/merlijntishauser/unifi-homelab-ops/actions/workflows/docker-publish.yml) [![Docker Hub](https://img.shields.io/docker/pulls/merlijntishauser/unifi-homelab-ops)](https://hub.docker.com/r/merlijntishauser/unifi-homelab-ops) [![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE) **你的 UniFi 控制器功能强大。这个工具让它 *可视化*。** 一款为 Homelab 爱好者打造的自托管伴侣应用,提供对 UniFi 网络更深度的可见性——防火墙分析、实时拓扑图、设备指标、机架规划以及 AI 驱动的健康评估。所有功能集成于单一管理界面,运行在你自己的硬件上。 ![Firewall Zone Matrix](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/62a78aee9e201400.png) ## 为什么需要它? 原生的 UniFi 仪表盘非常适合日常管理,但它无法回答如下问题: - *“哪些区域对之间没有明确的防火墙规则?”* - *“我的规则中是否存在影子或重叠规则?”* - *“我的网络实际上是什么样子的,就在此刻?”* - *“是否有设备在过热运行,且这种情况持续了多久?”* - *“我所有的设备能放进 10 英寸机架吗?”* UniFi Homelab Ops 填补了这些空白。连接到你的控制器,几秒钟内你就能获得完整的安全审计、实时拓扑、设备监控和可视化机架规划器——全部支持深色模式、移动端支持和可选的 AI 分析。 ## 模块 ### 防火墙分析 一目了然地查看每个区域到区域的关系。每个单元格根据策略类型进行颜色编码,并通过 11 项自动化安全检查进行 A-F 评级。点击任意单元格可深入查看交互式规则图,检查单个规则,或模拟流量流向。 - 带有自动安全评级 (A-F) 的区域矩阵 - 带有规则标记和步进路径的交互式 ReactFlow 图 - 流量模拟器——追踪给定源/目的/端口匹配哪条规则 - 规则管理——直接启用/禁用和重新排序规则 - 通过 OpenAI、Anthropic 或任何兼容 API 进行的可选 AI 深度分析 ![Firewall Matrix - Light Theme](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/66569f2218201401.png) ### 网络拓扑 显示每个连接、端口状态和 LLDP 邻居的交互式设备映射图。切换到 SVG 图表视图,可获得整洁的正交或等轴渲染图,并可导出为 SVG 或 PNG。 ![Topology Map](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/ebd845780a201402.png) ### 设备指标 每个 UniFi 设备的实时监控。CPU、内存、温度、流量、PoE 消耗——全部显示在带有迷你趋势图的自动刷新卡片上。点击任意设备查看详细的时间序列图表和通知历史。 自动异常检测会针对高 CPU、内存压力、温度峰值、PoE 过载和意外重启向你发出警报。 ![Metrics Dashboard](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/6bda459bc7201403.png) ### 站点健康 来自所有模块的聚合状态卡片,带有彩色健康指示器。一键 AI 跨域分析关联防火墙姿态、拓扑风险和指标异常,找出单一模块无法发现的问题。 ![Health Summary](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/38c1b0181a201404.png) ### 机架规划器 通过拖放设备布局设计你的 Homelab 机架。支持 10 英寸和 19 英寸机架、分数 U 高度 (0.5U)、分数宽度(四分之一/半宽/全宽),并从 UniFi 目录自动填充设备规格。生成物料清单或直接从控制器导入设备。 ![Rack Planner](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/85138bf6be201404.png) ### 文档生成器 从实时控制器数据自动生成网络文档:Mermaid 拓扑图、设备清单、端口概览、LLDP 邻居表、防火墙摘要和指标快照。导出为 Markdown、JSON、SVG 或 PNG。 ## 快速开始 ### 前置条件 - [Docker](https://docs.docker.com/get-docker/) - 一个 UniFi Network 控制器 (9.x 或更高版本) ### 一条命令 ``` docker run -d \ --name unifi-homelab-ops \ -p 8080:8080 \ -v unifi-homelab-ops-data:/data \ merlijntishauser/unifi-homelab-ops:latest ``` 打开 [http://localhost:8080](http://localhost:8080) 并使用你的 UniFi 控制器凭据登录。 ### 使用环境变量凭据 ``` docker run -d \ --name unifi-homelab-ops \ -p 8080:8080 \ -v unifi-homelab-ops-data:/data \ -e UNIFI_URL=https://192.168.1.1 \ -e UNIFI_USER=admin \ -e UNIFI_PASS=yourpassword \ merlijntishauser/unifi-homelab-ops:latest ``` ### Docker Compose ``` services: unifi-homelab-ops: image: merlijntishauser/unifi-homelab-ops:latest ports: - "8080:8080" volumes: - unifi-homelab-ops-data:/data environment: - UNIFI_URL=https://192.168.1.1 - UNIFI_USER=admin - UNIFI_PASS=yourpassword restart: unless-stopped volumes: unifi-homelab-ops-data: ``` ## 配置 | Variable | Description | Default | |---|---|---| | `UNIFI_URL` | Controller URL (e.g. `https://192.168.1.1`) | -- | | `UNIFI_SITE` | 站点名称 | `default` | | `UNIFI_USER` | 控制器用户名 | -- | | `UNIFI_PASS` | 控制器密码 | -- | | `UNIFI_VERIFY_SSL` | 验证 SSL 证书 | `false` | | `APP_PASSWORD` | Web UI 的可选密码关口 | -- | | `APP_SESSION_TTL` | 会话时长(秒) | `86400` | | `HOMELAB_OPS_DB_PATH` | SQLite 数据库路径 | `/data/homelab-ops.db` | | `LOG_LEVEL` | 服务器日志级别 | `INFO` | 所有 `UNIFI_*` 变量都是可选的——如果省略,请在启动后通过 UI 登录。运行时凭据优先于环境变量。挂载 `/data` 以持久化设置、缓存分析和指标历史。 ### AI 分析 (可选) 通过应用中的设置模态框配置,或通过环境变量配置: | Variable | Description | Default | |---|---|---| | `AI_BASE_URL` | Provider API base URL | -- | | `AI_API_KEY` | API key | -- | | `AI_API_KEY_FILE` | Path to file containing the API key (Docker secrets) | -- | | `AI_MODEL` | Model name (e.g. `gpt-4o`, `claude-sonnet-4-6`) | -- | | `AI_PROVIDER_TYPE` | `openai` or `anthropic` | `openai` | 适用于任何 OpenAI 兼容 API(OpenAI、Ollama、LM Studio 等)和 Anthropic API。 ## Docker 镜像 每次推送到 `main` 分支和版本标签时发布到 [Docker Hub](https://hub.docker.com/r/merlijntishauser/unifi-homelab-ops)。 | Tag | Description | |---|---| | `latest` | 最新发布版或 main 分支构建 | | `1.0.0`, `1.0`, `1` | 固定发布版本 | | `alpine` | Alpine 变体(镜像更小) | | `1.0.0-alpine` | 固定发布的 Alpine 变体 | 多架构:`linux/amd64` 和 `linux/arm64`。 ## 技术栈 | Layer | Stack | |---|---| | Backend | Python 3.13, FastAPI, SQLite, [unifi-topology](https://github.com/merlijntishauser/unifi-topology) | | Frontend | React 19, TypeScript, Tailwind CSS 4, ReactFlow | | Infra | Docker, Vite, uv | ## 贡献 有关开发设置、架构、质量标准和发布流程,请参阅 [CONTRIBUTING.md](CONTRIBUTING.md)。 ## 许可证 [MIT](LICENSE)
标签:AI健康检查, Docker, Docker 部署, GitHub, Homelab, Mutation, Petitpotam, UniFi, 仪表盘, 可视化, 安全防御评估, 家庭实验室, 拓扑图, 插件系统, 机架规划, 流量捕获, 流量模拟, 网络安全, 网络拓扑, 网络运维, 自动化攻击, 自托管, 设备监控, 请求拦截, 逆向工具, 防火墙分析, 隐私保护