这个项目能做什么

Homelab Inventory 是一个自托管的 Web 应用程序,用于记录、组装、验证和监控家庭实验室硬件。它以 Docker 镜像(mriverodorta/homelab-inventory)形式分发,并将所有状态存储在持久化的 /data 卷中,使用 SQLite 数据库存储清单、遥测和目录数据。 README 中描述的核心功能: - 物理文档:将安装组织到项目中,每个项目具有固定的系统视图和一个或多个可重新排序、颜色编码的画布工作区。在无限画布上放置服务器、NAS 设备、自定义 PC、显示器、交换机、配线架、UPS 系统和电源条。从可复用的 CPU、主板、散热、内存、存储、GPU、有线或无线网络适配器、声卡、机箱和电源组装主机。使用颜色编码、正交路由的电缆连接网络、显示和电源端点,并从任一端点检查每个连接。可搜索的桌面或移动清单抽屉支持创建、复制、归档、恢复和安全移除。 - 兼容性验证:检查 CPU 插槽、代次和功率限制;内存代次、容量、速度、ECC、DIMM/SO-DIMM 适配和插槽分配;存储托架和接口;以及跨 PCIe、M.2、Mini PCIe、USB、OCP、夹层、板载和专有接口的扩展插槽适配。结果分类为兼容、不兼容或未知,具有确定性资源分配、不兼容警告和数据不完整警告。发现可被审查或忽略,并且可以按主机禁用检查以处理有意例外。 - 硬件目录和模板:可选的签名硬件目录可按类别和硬件特定过滤器进行本地搜索,导入链接到已验证的模板修订版。目录更新在应用前进行审查,同时保留本地名称、分配、画布位置、电缆和仅实例字段。安装可以完全离线运行,使用签名目录快照,或使用带校验和 JSON 导入/导出的私有模板。可选的无害化贡献排除序列号、地址、标签、分配、拓扑和代理证据。 - 主机监控:仅出站代理可在 systemd Linux、Alpine/OpenRC、FreeBSD 或 OPNsense 主机上注册,报告一分钟健康状态、心跳历史、CPU、内存、运行时间和操作系统详细信息。实时利用率和 Inspector 遥测通过一个经过身份验证的服务器发送事件流在初始快照后到达。本地存储使用情况按物理设备和挂载点检查,包括分区表和 LVM 或 RAID 拓扑。可发现本地安装的服务,并支持可选的受限 Docker 或 Podman 容器遥测。单独的审查硬件扫描可逐字段应用检测值,并支持撤销。可选的 Ntfy 或通用 webhook 警报涵盖主机中断和选定的服务、容器或物理存储更改,具有静默时间、提醒、重试和持久化事件历史。 - 认证和访问:本地密码、OpenID Connect 或混合认证,支持邀请、会话、内置角色和自定义权限组。全新生产安装需要一次性本地所有者设置;升级安装默认禁用认证。OIDC 使用带 PKCE 的授权码流程。API 权限在服务器端强制执行,默认拒绝路由。恢复命令可重置原始所有者。 - 共享:明确选择的系统和画布视图可通过本地隐私预览发布到 lab.gd,支持公共或未列出访问、不可变或可替换修订版、手动或防抖同步、过期、嵌入和可选元数据。注册不发送清单内容,共享可完全禁用。 - 备份和恢复:完整或基于部分的便携备份采用 .hlibackup 格式,验证路径、大小、校验和、模式兼容性和部分依赖关系,恢复前备份、维护模式和失败时自动回滚。支持带可配置保留期的计划加密备份;一旦存在所有者认证材料,计划备份必须使用密码短语。 - 部署:Docker Compose 使用稳定、最新或固定版本标签;环境变量涵盖端口、数据目录、更新通道、注册表刷新间隔、lab.gd 共享、认证引导、OIDC 密钥、速率限制、代理信任和遥测保留。README 警告不要在没有 HTTPS 和访问控制的情况下直接将应用暴露到公共互联网,并指出项目处于活跃的 AI 辅助开发中,应视为不断发展的工具,而非成品企业 CMDB。