~/projects · INFRA
Homelab.
Szafa rack w domu: własny GitLab z CI/CD i registry, własne OIDC, bramka LLM i kilkanaście usług.

Węzły fizyczne i wirtualizacja
TinyPack (Klaster mini PC)
Kluczowe usługi i aplikacje
Po co to wszystko?
Dla jednych to tylko hałasujące skrzynki schowane w meblach, dla mnie – serce domowej infrastruktury, warsztat i poligon doświadczalny w jednym. To tutaj testuję nowe narzędzia, symuluję awarie i uczę się radzić sobie z problemami, zanim podobny pożar wybuchnie w pracy na infrastrukturze wartej miliony.
To nie jest pasywna półka ze starym sprzętem zbierającym kurz. To żyjący, w pełni funkcjonalny ekosystem z metrykami, centralnym logowaniem, automatycznymi kopiami zapasowymi i potokami CI/CD. Nawet strona, którą właśnie czytasz, nie wisi na anonimowym shared hostingu – jest budowana i serwowana bezpośrednio z mojej domowej serwerowni.
Sprzęt: maszyna po maszynie
Fundamentem całości jest celowo dobrany, zróżnicowany hardware – od składanych pecetów, przez jednolitrowe terminale, aż po terminale cienkiego klienta zaadaptowane do bezawaryjnej pracy 24/7.
Orzeł 1 – główny host Proxmox VE
Główny wół roboczy klastra wirtualizacji. Bierze na siebie większość obciążenia obliczeniowego i usług bazowych.
- CPU: Intel Core i5-10400F @ 2.90 GHz (6 rdzeni / 12 wątków)
- RAM: 48 GB DDR4
- GPU: NVIDIA GeForce GTX 1070
- Magazyn danych:
- 2x Samsung MZVLW256 NVMe 256 GB – dysk systemowy hypervisora
- ADATA SU750 256 GB SSD + ADATA SU800 256 GB SSD – spięte w pulę LVM pod wirtualki
- 2x V-Series SATA SSD 120 GB
- 4× WD WD5000AAKS 500 GB HDD
- HGST HTS541010 4 TB 2.5" HDD
- Rola: 3 maszyny wirtualne (VM) oraz kilkanaście kontenerów LXC.
Singularity – zapasowy host Proxmox VE
Drugi węzeł wirtualizacji, zbudowany na bezgłośnym i niezawodnym poleasingowym biurowcu. Odciąża Orła i zapewnia redundancję.
- Platforma: Dell OptiPlex 7020
- Pamięć: 32 GB DDR3
- Dysk: 256 GB SSD
- Rola: własny zestaw 3 maszyn wirtualnych oraz kilkanaście kontenerów LXC.
TinyPack – jednolitrowa dywizja i cisi pomocnicy
Ekspedycja miniaturowych komputerów o minimalnym poborze prądu i zerowym hałasie – idealna baza pod architekturę rozproszoną i konteneryzację.
- Janusz & Sebek (2× Lenovo ThinkCentre M715q): AMD, 16 GB DDR4, 256 GB SSD, 1 GbE
- Orzeł 2 & Tytus (2× Lenovo ThinkCentre M910q): Intel, 16 GB DDR4, podwójny dysk 256 GB + 256 GB SSD
- Domino (Dell Wyse): Cienki klient, o którym niemal zapomniałem – miniaturowy, energooszczędny strażnik do lekkich zadań pomocniczych.
- Rola węzłów: Usługi kontenerowe Docker oraz Kubernetes (k8s), w tym instancje GitLab Runner kompilujące i testujące projekty w locie.
Core – lokalne AI i magazyn danych
Koń roboczy, a zarazem domowe centrum obliczeniowe dużej mocy.
- CPU: AMD Ryzen 5 3600 (6 rdzeni / 12 wątków)
- RAM: 64 GB DDR4
- GPU: NVIDIA GeForce RTX 3090 (24 GB VRAM)
- Przestrzeń dyskowa: 298 GB, 2× 223,5 GB, 931,5 GB oraz 1863 GB (fizycznie ok. 320 GB, 2× 240 GB, 1 TB oraz 2 TB)
- Przeznaczenie: Codzienna praca inżynierska, lokalne środowisko uruchomieniowe LLM (llama.cpp, LM Studio czerpiące z 24 GB pamięci karty) oraz lokalny magazyn danych (storage).
Sieć i łączność
Nawet najlepszy serwer jest bezużyteczny bez deterministycznej sieci. Moja domowa „szafa serwerowa” to w rzeczywistości zaadaptowana szafka meblowa – ale pod względem topologii nie ustępuje standardom biurowym.
- Brzeg sieci i Wi-Fi: Brama sieciowa UniFi Gateway odpowiadająca za routing, firewall i separację segmentów, połączona z punktem dostępowym UniFi AP.
- Szybki szkielet (Backbone): Dedykowany przełącznik 2.5 GbE (oznaczony jako „B25”) stanowiący szybką magistralę danych dla najbardziej obciążonych maszyn.
- Dystrybucja w „racku”: Zarządzalny przełącznik D-Link DGS-1510 umieszczony w szafce, spięty ze switchem B25 łączem o przepustowości 2.5 GbE, odpowiadający za dystrybucję ruchu, trunking i VLAN-y dla pozostałych urządzeń.
Homelab w liczbach
- 8 fizycznych maszyn (5 w TinyPack + Orzeł 1 + Singularity + stacja Core)
- 2 hiperwizory Proxmox VE spięte w jeden organizm
- 6 maszyn wirtualnych i ponad kilkanaście odizolowanych kontenerów LXC
- 208+ GB pamięci RAM w całym labie
- 2 akceleratory graficzne NVIDIA pracujące na rzecz wirtualizacji, transkodowania i wnioskowania AI
- 120+ aktywnych dekoderów SDR przetwarzających sygnały radiowe
- 12 kluczowych serwisów infrastrukturalnych pod stałym nadzorem monitoringu
Co tutaj działa?
Każda usługa w labie ma swoje uzasadnienie. Zamiast stawiać kontenery dla samej sztuki, buduję środowisko, które realnie wspiera moją pracę i projekty.
- Własna instancja GitLab (
g.gut.red): Prywatne repozytorium kodu z rozbudowanym CI/CD. To tutaj zaczyna się każdy commit – w tym zmiany na stronie bartosik.run, która po przejściu testów na runnerach jest automatycznie wdrażana na środowisko za pomocą webhooka Dockhanda. - Uptime Kuma (
uptime.bartosik.run): Silnik zasilający widoczne wyżej wskaźniki dostępności. Sprawdza stan maszyn i usług co minutę, monitorując endpointy HTTP, porty TCP i czasy odpowiedzi. - Aplikacje autorskie i serwisy: W tym instancja MokreNoski-Alpha oraz pulpit Horizon.
- Węzeł Matrix (
gut.red): Własny, sfederowany serwer komunikacyjny zapewniający bezpieczną i niezależną łączność. - Flota dekoderów SDR: Ponad 120 pracujących instancji dekodujących sygnały radiowe w czasie rzeczywistym.
- Lokalne modele LLM: Środowisko wnioskowania oparte o llama.cpp i LM Studio, wykorzystujące pełne 24 GB VRAM karty RTX 3090 do lokalnej pracy z modelami językowymi bez wysyłania danych do chmury.
- Orkiestracja kontenerów: Klastry Docker oraz Kubernetes na węzłach TinyPack, dźwigające m.in. GitLab Runnery i aplikacje pomocnicze.
- [Lista usług w trakcie uzupełniania]
Zasady gry (Homelab philosophy)
- Monitoring jest pierwszy. Usługa, która nie posiada metryk, healthchecka ani alertu w razie awarii, formalnie nie istnieje.
- Kopia zapasowa, której nigdy nie odtworzyłeś, to tylko plotka. Prawdziwy backup to ten, z którego potrafisz postawić system na czystym dysku w środku nocy.
- Każda zmiana przechodzi przez Git i pipeline. Żadnych chaotycznych modyfikacji plików konfiguracyjnych bezpośrednio przez SSH na żywym organizmie.
- Psuj na poligonie, nigdy na produkcji. Lepiej położyć własny domowy klaster w sobotę rano niż infrastrukturę klienta w poniedziałkowe popołudnie.