프로젝트 소개

Homelab Inventory는 홈랩 하드웨어를 문서화, 조립, 검증 및 모니터링하기 위한 셀프 호스팅 웹 애플리케이션입니다. Docker 이미지(mriverodorta/homelab-inventory)로 배포되며 모든 상태를 영구 /data 볼륨에 저장하고 인벤토리, 원격 측정 및 카탈로그 데이터용 SQLite 데이터베이스를 사용합니다. README에 설명된 핵심 기능: - 물리적 문서화: 설치를 프로젝트로 구성하며 각 프로젝트에는 고정된 Systems 보기와 하나 이상의 재정렬 가능하고 색상으로 구분된 Canvas 작업 공간이 있습니다. 무한 캔버스에 서버, NAS 장치, 맞춤 PC, 모니터, 스위치, 패치 패널, UPS 시스템 및 전원 스트립을 배치합니다. 재사용 가능한 CPU, 마더보드, 냉각, RAM, 스토리지, GPU, 유선 또는 무선 네트워크 어댑터, 사운드 카드, 케이스 및 전원 공급 장치로 호스트를 조립합니다. 색상으로 구분되고 직교 라우팅된 케이블로 네트워크, 디스플레이 및 전원 엔드포인트를 연결하고 각 엔드포인트에서 각 연결을 검사합니다. 검색 가능한 데스크톱 또는 모바일 인벤토리 서랍은 생성, 복제, 보관, 복원 및 안전한 제거를 지원합니다. - 호환성 검증: CPU 소켓, 세대 및 전력 제한을 확인합니다. 메모리 세대, 용량, 속도, ECC, DIMM/SO-DIMM 적합성 및 슬롯 할당; 스토리지 베이 및 인터페이스; PCIe, M.2, Mini PCIe, USB, OCP, mezzanine, 온보드 및 독점 인터페이스 전반의 확장 슬롯 적합성. 결과는 호환 가능, 비호환 또는 알 수 없음으로 분류되며 결정적 리소스 할당, 비호환 경고 및 불완전 데이터 경고가 포함됩니다. 결과는 검토하거나 무시할 수 있으며 의도적인 예외를 위해 호스트별로 검사를 비활성화할 수 있습니다. - 하드웨어 카탈로그 및 템플릿: 선택적 서명된 하드웨어 카탈로그는 카테고리 및 하드웨어별 필터로 로컬에서 검색할 수 있으며 가져오기는 검증된 템플릿 개정판에 연결됩니다. 카탈로그 업데이트는 로컬 이름, 할당, 캔버스 위치, 케이블 및 인스턴스 전용 필드를 보존하면서 적용 전에 검토됩니다. 설치 프로그램은 서명된 카탈로그 스냅샷으로 완전히 오프라인으로 실행하거나 체크섬된 JSON 가져오기/내보내기가 있는 개인 템플릿을 사용할 수 있습니다. 선택적 삭제된 기여는 일련 번호, 주소, 레이블, 할당, 토폴로지 및 에이전트 증거를 제외합니다. - 호스트 모니터링: 아웃바운드 전용 에이전트는 systemd Linux, Alpine/OpenRC, FreeBSD 또는 OPNsense 호스트에 등록할 수 있으며 1분 건강 상태, 하트비트 기록, CPU, 메모리, 가동 시간 및 OS 세부 정보를 보고합니다. 실시간 사용률 및 Inspector 원격 측정은 초기 스냅샷 후 하나의 인증된 서버 전송 이벤트 스트림을 통해 도착합니다. 로컬 스토리지 사용량은 파티션 테이블 및 LVM 또는 RAID 토폴로지를 포함하여 물리적 장치 및 마운트 지점별로 검사됩니다. 로컬에 설치된 서비스를 검색할 수 있으며 선택적 제한된 Docker 또는 Podman 컨테이너 원격 측정이 지원됩니다. 별도의 검토된 하드웨어 스캔은 Undo 지원으로 감지된 값을 한 번에 한 필드씩 적용할 수 있습니다. 선택적 Ntfy 또는 일반 웹훅 알림은 호스트 중단 및 선택된 서비스, 컨테이너 또는 물리적 스토리지 변경을 다루며 조용한 시간, 알림, 재시도 및 유지된 인시던트 기록이 포함됩니다. - 인증 및 액세스: 로컬 암호, OpenID Connect 또는 하이브리드 인증과 초대, 세션, 기본 제공 역할 및 사용자 지정 권한 그룹. 새 프로덕션 설치에는 일회성 로컬 소유자 설정이 필요합니다. 업그레이드된 설치에서는 기본적으로 인증이 비활성화됩니다. OIDC는 PKCE가 있는 Authorization Code 흐름을 사용합니다. API 권한은 기본 거부 라우팅으로 서버 측에서 적용됩니다. 복구 명령은 원래 소유자를 재설정할 수 있습니다. - 공유: 명시적으로 선택된 Systems 및 Canvas 보기는 로컬 개인 정보 미리 보기를 통해 lab.gd에 게시할 수 있으며 공개 또는 비공개 액세스, 불변 또는 교체 가능한 개정판, 수동 또는 디바운스 동기화, 만료, 임베드 및 선택적 메타데이터가 있습니다. 등록은 인벤토리 콘텐츠를 보내지 않으며 공유를 완전히 비활성화할 수 있습니다. - 백업 및 복원: .hlibackup 형식의 전체 또는 섹션 기반 휴대용 백업으로 경로, 크기, 체크섬, 스키마 호환성 및 섹션 종속성 검증, 복원 전 복구 백업, 유지 관리 모드 및 실패 시 자동 롤백이 포함됩니다. 구성 가능한 보존 기간이 있는 예약 암호화 백업이 지원됩니다. 소유자 인증 자료가 존재하면 예약 백업에는 암호가 필수입니다. - 배포: 안정적인 최신 또는 고정 버전 태그가 있는 Docker Compose; 환경 변수는 포트, 데이터 디렉터리, 업데이트 채널, 레지스트리 새로 고침 간격, lab.gd 공유, 인증 부트스트랩, OIDC 비밀, 속도 제한, 프록시 신뢰 및 원격 측정 보존을 다룹니다. README는 HTTPS 및 액세스 제어 없이 앱을 공개 인터넷에 직접 노출하지 말라고 경고하며 프로젝트가 활발한 AI 지원 개발 중이며 완성된 엔터프라이즈 CMDB가 아닌 진화하는 도구로 취급해야 한다고 언급합니다.