Informacje o aplikacji Home Lab Hub

Strona projektu https://github.com/RaidOwl/homelab-hub
Samodzielnie hostowana aplikacja internetowa do zarządzania i wizualizacji infrastruktury domowego laboratorium. Śledenie sprzęt, maszyny wirtualne, aplikacje, pamięć masową, sieci i wiele więcej — wszystko w jednym miejscu. Zrzut ekranu Home Lab Hub Funkcje Zarządzanie inwentarzem — Pełne CRUD dla sprzętu, maszyn wirtualnych, aplikacji/usług, pamięci masowej, sieci, udziałów i innych elementów Zarządzanie udziałami — Śledź udziały sieciowe (NFS, SMB, iSCSI, FTP, SFTP, WebDAV) w urządzeniach pamięci masowej z automatycznym uzupełnianiem szczegółów połączenia Eksport/Import — Twórz kopie zapasowe i przywracaj cały inwentarz za pomocą eksportu/importu JSON jednym kliknięciem Wizualizacja sieci — Interaktywna mapa grafów z układem w głąb, pokazująca relacje między komponentami infrastruktury (obsługiwana przez Cytoscape.js) Widok drzewa — Hierarchiczny widok infrastruktury ze zwijanymi węzłami Dokumentacja — Hierarchiczna dokumentacja oparta na Markdown z podglądem na żywo i automatycznym zapisywaniem Sortowalne tabele — Kliknij nagłówki kolumn, aby posortować dane inwentarza rosnąco lub malejąco Wyszukiwanie między jednostkami — Filtruj i przeszukuj wszystkie typy inwentarza z poziomu jednego interfejsu Okna modalne — Przejrzyste, dostępne formularze modalne do tworzenia i edycja encji Śledzenie relacji — automatyczne i ręczne mapowanie relacji między encjami.
Instalacja aplikacji Home Lab Hub
W moim homelab wszystkie dane kontenerów są widoczne na maszynie wirtualnej docker poprzez zamontowany katalog /mnt/data
mkdir -p /mnt/data/homelab-hub/data
Docker
docker run -d -e TZ=Europe/Warsaw \ --name homelab-hub \ -p 8500:8000 \ -v ./data:/mnt/data/homelab-hub/data \ --restart unless-stopped \ raidowl/homelab-hub:latest
Docker-compose
services:
homelab-hub:
image: raidowl/homelab-hub:latest
container_name: homelab-hub
ports:
- "8000:8000"
volumes:
- ./data:/data
restart: unless-stoppedcd /mnt/data/homelab-hub/ docker compose up -d
Ochrona dostępu do aplikacji Home Lab Hub przez hasło Nginx Proxy Manager
# standardowo w moim homelab kontenery są podpięty razem NPM do wspólnej sieci o nazwie docker-compose_default
docker network ls
NETWORK ID NAME DRIVER SCOPE
4c338082e50b bridge bridge local
e22a04f84bdc docker-compose_default bridge local
c625145d10f5 host host local
ce4af61c8cb6 none null local
# tworzymy nowa sieć dockera
docker network create npm-proxy
0ec2e4eb638394deca306a9fc4be6e843f6f5a67bd5b694bf01201c5a08f30ff
# podepnij kontener z nginxproxymanager dodatkowo do drugiej sieci o nazwie npm-proxy
docker network connect npm-proxy nginxproxymanager
# Sprawdzenie, czy NPM ma dwie sieci:
docker inspect <NAZWA_KONTENERA_NPM> --format '{{json .NetworkSettings.Networks}}' | jqservices:
homelab-hub:
image: raidowl/homelab-hub:latest
container_name: homelab-hub
environment:
- TZ=Europe/Warsaw
volumes:
- ./data:/mnt/data/homelab-hub/data
restart: unless-stopped
networks:
- npm-proxy
expose:
- "8000"
networks:
npm-proxy:
external: true
W konfiguracji Nginx Proxy Manager należy utworzyć nową pozycję w menu Access List. W zakładce Authorization podać login i hasło jakie chcemy mieć do aplikacji pod adresem https://lab.home.lan

W konfiguracji Nginx Proxy Manager należy utworzyć teraz nowy Proxy Host gdzie
- Forward Hostname: to nazwa naszego kontenera np. homelab-hub
- Forward Port: port wewnętrzny podany w docker-compose.yml
- Wybrać Access List: np. utworzony wcześnie homelab-hub

Od tej pory przy wejściu na stronę https://lab.home.lan będzie nas pytało o login i hasło. Nie da się wejść przez adres i port maszyny z dockerem np. http://192.168.10.25:8500/

