Celem projektu jest zbudowanie małego, cichego i niedrogiego homelabu, który działa całą dobę, pozwala uruchamiać kilka usług i pozostawia miejsce na naukę. Nie budujemy od razu klastra ani serwera z dziesięcioma dyskami.
Efektem będzie jeden używany mini PC z Proxmoxem, maszyna wirtualna z Debianem i Dockerem, mała usługa DNS oraz działający backup na osobnym nośniku.
Założenia projektu
- niewielki pobór energii w spoczynku,
- części łatwo dostępne na rynku wtórnym,
- minimum 16 GB RAM,
- możliwość wymiany SSD,
- zarządzanie przez przeglądarkę,
- oddzielenie aplikacji od systemu hosta,
- kopia danych poza dyskiem mini PC,
- brak wystawiania paneli administracyjnych do Internetu.
Jeśli dopiero poznajesz temat, zacznij od poradnika co to jest homelab i jak zacząć.
Sprzęt
Szukamy używanego komputera klasy Tiny/Micro/Mini:
- Dell OptiPlex Micro, na przykład 3050, 5050, 7050 lub nowszy,
- HP EliteDesk/ProDesk Mini, na przykład 600 G3, 800 G3 lub nowszy,
- Lenovo ThinkCentre Tiny, na przykład M710q, M720q lub nowszy.
Procesory i5 z serii T szóstej, siódmej i nowszych generacji nadal wystarczą do podstawowego homelabu. i5-6500T, i5-7500T czy i5-8500T oferują znacznie więcej możliwości niż prosty terminal, a dobrze skonfigurowany mini PC potrafi zejść poniżej 10 W w spoczynku.
Sam mam w homelabie Della OptiPlex 7050 Micro z i5-6500T i 8 GB RAM. Do tego projektu rozbudowałbym go do 16 GB, ponieważ pamięć jest zwykle pierwszym ograniczeniem przy kilku maszynach.
Minimalna konfiguracja
| Element | Minimum | Wygodniejszy wariant |
|---|---|---|
| CPU | 4 wątki, wirtualizacja | 4 rdzenie lub więcej |
| RAM | 8 GB | 16–32 GB |
| Systemowy SSD | 256 GB | 512 GB–1 TB |
| Sieć | 1 Gb/s Ethernet | 1 Gb/s lub 2,5 Gb/s |
| Backup | zewnętrzny HDD/SSD | NAS i druga kopia poza domem |
Nie przepłacaj za mały komputer tylko dlatego, że ma etykietę „serwer”. Ważniejszy jest stan sprzętu, komplet zasilacza, możliwość rozbudowy i realny pobór energii.
Architektura
Mini PC
└── Proxmox VE
├── VM: Debian + Docker
│ ├── Uptime Kuma
│ └── testowa aplikacja
└── LXC: AdGuard Home
Osobny dysk lub NAS
└── backup maszyn i konfiguracji
Dlaczego tak?
- Proxmox umożliwia tworzenie VM, LXC, snapshotów i kopii,
- Docker działa w pełnej maszynie z Debianem, więc nie mieszamy kontenerów aplikacyjnych bezpośrednio z hostem,
- mała usługa DNS w LXC zużywa niewiele zasobów,
- backup nie znajduje się wyłącznie na systemowym SSD.
Nie jest to jedyna poprawna architektura. To celowo prosty punkt startowy, który można później zmienić.
Etap 1: przygotowanie mini PC
- Wyczyść urządzenie i sprawdź wentylację.
- Przetestuj RAM oraz stan SSD.
- Zaktualizuj firmware tylko wtedy, gdy jest to potrzebne i masz stabilne zasilanie.
- Włącz wirtualizację procesora.
- Ustaw start po powrocie zasilania.
- Podłącz serwer przewodem do routera.
- Zmierz pobór energii w spoczynku po zakończeniu konfiguracji.
Warto zanotować model, numer seryjny, rodzaj RAM, model SSD i moc zasilacza. Za pół roku nie będziesz musiał ponownie rozbierać urządzenia, żeby sprawdzić możliwości rozbudowy.
Etap 2: instalacja Proxmoxa
Przed instalacją poznaj rolę hosta, maszyn wirtualnych, kontenerów i storage w poradniku co to jest Proxmox VE. Szczegółowy proces instalacji warto wykonywać razem z dokumentacją właściwego wydania i własnymi zdjęciami testowanego sprzętu.
Przydziel hostowi stały adres, zainstaluj aktualizacje i od razu skonfiguruj magazyn backupu. Nie twórz jeszcze wielu maszyn.
Po instalacji zapisz w menedżerze haseł:
- adres panelu,
- nazwę hosta,
- konto administratora,
- adres IP,
- informacje o repozytorium,
- lokalizację kopii zapasowych.
Etap 3: Debian z Dockerem
Utwórz maszynę wirtualną:
2–4 vCPU
4–8 GB RAM
64 GB dysku
Debian Stable
Karta sieciowa VirtIO
Po instalacji ustaw aktualizacje, zainstaluj QEMU Guest Agent, a następnie Docker Engine i wtyczkę Docker Compose zgodnie z oficjalną dokumentacją Dockera.
Nie uruchamiaj instalatorów pobranych z przypadkowych gistów. Oficjalna instrukcja jest aktualizowana wraz ze zmianami repozytoriów.
Utwórz czytelną strukturę:
/opt/services/
├── uptime-kuma/
│ ├── compose.yaml
│ └── data/
└── kolejna-usluga/
Każda usługa powinna mieć własny katalog, plik Compose, dane i krótką notatkę opisującą sposób odtworzenia.
Etap 4: pierwsza aplikacja
Na początek wybierz Uptime Kuma lub inną niekrytyczną usługę. Dzięki temu nauczysz się:
- uruchamiania i zatrzymywania kontenerów,
- przeglądania logów,
- aktualizacji obrazu,
- mapowania portów,
- wykonywania kopii katalogu danych.
Nie zaczynaj od menedżera haseł albo jedynej kopii zdjęć. Najpierw przećwicz awarię na aplikacji, której utrata nie będzie problemem.
Etap 5: DNS w LXC
AdGuard Home lub Pi-hole może działać w małym kontenerze LXC z 512 MB–1 GB RAM. Nadaj mu stały adres i przetestuj na jednym urządzeniu, ustawiając jego adres jako DNS.
Dopiero po kilku dniach bezproblemowego działania zmień DNS rozdawany przez router całej sieci. Zachowaj sposób szybkiego powrotu do poprzedniej konfiguracji — awaria DNS jest odbierana przez domowników jako awaria całego Internetu.
Etap 6: backup i test odtworzenia
Skonfiguruj cykliczny backup VM i LXC na oddzielny nośnik. Zachowaj kilka ostatnich wersji, ponieważ najnowsza kopia może już zawierać błędną konfigurację.
Następnie wykonaj najważniejszy test:
- utwórz ręczny backup testowej VM,
- zmień jej nazwę lub ją wyłącz,
- odtwórz kopię pod innym identyfikatorem,
- uruchom i sprawdź aplikację,
- zapisz wynik testu.
Snapshot na SSD hosta przydaje się przed aktualizacją, ale nie zastępuje tej kopii.
Etap 7: monitoring i dokumentacja
Monitoruj przynajmniej:
- dostępność usług,
- wolne miejsce na dysku,
- wykorzystanie RAM,
- temperaturę i obciążenie hosta,
- powodzenie backupu,
- pobór energii.
Prowadź prosty plik z adresacją, listą VM, portami i lokalizacją danych. Dokumentacja nie musi być piękna — musi umożliwić odtworzenie środowiska, kiedy coś przestanie działać.
Co można dodać później?
Po kilku tygodniach stabilnej pracy:
- prywatną bibliotekę zdjęć z Immich,
- Jellyfin i sprzętowe transkodowanie,
- VPN do dostępu zdalnego,
- osobny NAS,
- VLAN dla urządzeń IoT,
- Proxmox Backup Server,
- drugi host testowy.
Każdy kolejny element powinien mieć właściciela danych, plan aktualizacji i sposób odtworzenia. Wtedy homelab pozostaje pomocą, a nie drugim etatem.