
Web i serwery
Homelab: własna chmura w domu
Poczta, zdjęcia, pliki, hasła, VPN i automatyka domu na własnych serwerach zamiast w chmurze gigantów. Jak zbudowałem homelab w warstwach: sieć z VLAN-ami, jedno wejście przez reverse proxy, kontenery, dwie nocne kopie i monitoring z alarmem SMS, oraz czego mnie to nauczyło.
26.10.2026
Homelab zaczął się u mnie od jednego domowego serwera. Dziś to cztery maszyny, około 125 kontenerów i usługi, z których codziennie korzysta cała rodzina, często nie wiedząc, że stoją w piwnicy.
Cel jest prosty: odciąć się, na tyle, na ile to rozsądne, od wielkich dostawców chmury. Poczta, zdjęcia, pliki, hasła i automatyka domu mają działać na sprzęcie, który mam pod kontrolą.
(powiększ)Co zastąpiłem
Najlepiej widać to na liście. Każda pozycja to usługa, za którą wcześniej płaciłem albo którą „płaciłem” swoimi danymi.
(powiększ)Kilka z nich zasługuje na komentarz:
- Mailcow obsługuje pocztę dla kilku domen, z poprawnymi rekordami SPF, DKIM i DMARC w trybie reject. Bez tego poczta z domowego IP ląduje w spamie.
- Immich robi to samo co Zdjęcia Google, łącznie z rozpoznawaniem twarzy i wyszukiwaniem po treści zdjęć, ale model uczenia maszynowego liczy lokalnie.
- OneDev to serce wszystkich moich projektów: repozytoria i CI, z których wdrażam portale, tablice informacyjne i tę stronę.
- Własna bramka SMS na modemie GSM wysyła alarmy z systemów, które opisywałem wcześniej, od transmisji w kościele po tablicę na przystanku.
Architektura w warstwach
Homelab łatwo zamienić w stos przypadkowych kontenerów. Pomaga myślenie warstwami: każda ma jedno zadanie i nie zna szczegółów pozostałych.
(powiększ)Brzeg i DNS
Domeny mają DNS w Cloudflare, a domena usług ma rekord wildcard, więc nowa usługa nie wymaga zmian w DNS. Z zewnątrz jest jedno wejście: router z regułami ACL przekazuje ruch HTTP i HTTPS do reverse proxy, a pocztę do serwera pocztowego.
Sieć i segmentacja
Sieć stoi na sprzęcie TP-Link Omada, ale kontroler działa u mnie, a nie w chmurze producenta. Serwery i zarządzanie switchami oraz punktami dostępowymi mają osobne VLAN-y. Następny krok to wydzielenie urządzeń IoT, kamer i sieci dla dzieci, z kontrolą rodzicielską opartą na harmonogramach ACL.
DNS w sieci obsługują AdGuard Home i Technitium. Reklamy i śledzenie znikają na wszystkich urządzeniach naraz, także na telewizorze i konsoli.
Dostęp i ochrona
- jedno reverse proxy z certyfikatami Let’s Encrypt dla wszystkich usług publicznych,
- CrowdSec analizuje logi proxy i blokuje adresy na zaporze, korzystając też ze wspólnej listy zgłaszanych adresów,
- usługi administracyjne są dostępne tylko z sieci domowej albo przez WireGuard,
- każdą usługę co minutę lub dwie sprawdza osobny, mały komputer, a awarię zgłasza SMS-em z własnej bramki.
Aplikacje
Główny serwer to poczciwy Xeon z 10 rdzeniami i 20 wątkami oraz 94 GB RAM. Na nim działa większość kontenerów. Mniejsza maszyna obsługuje usługi sieciowe: kontroler, proxy, VPN, DNS i bramkę SMS. Dzięki temu restart serwera aplikacji nie odcina domu od internetu.
Każda usługa ma swój katalog z docker-compose i prostym skryptem wdrożenia, a całość widać w Portainerze. Beszel pokazuje obciążenie i zajętość dysków wszystkich maszyn w jednym miejscu.
(powiększ)Dane i kopie
Dane trzyma NAS z macierzą RAID5 na czterech dyskach i cache na dwóch dyskach NVMe w RAID1. Co noc w dni robocze robi pełne obrazy serwerów, a retencję ustawiam osobno dla każdej maszyny.
Od listopada działa druga, niezależna kopia: codziennie zwykłe pliki trafiają na osobny dysk 12 TB, w wersjach z ostatnich dni, tygodni i miesięcy. Taki dysk da się podłączyć do dowolnego komputera z Linuksem i odzyskać dane bez żadnego specjalnego oprogramowania.
Do tego zasada, której pilnuję najbardziej: przed każdą ingerencją ręczna kopia konfiguracji i danych usługi. Tę samą zasadę stosuję zresztą przy każdej zmianie na produkcji tej strony.
Czego mnie to nauczyło
Homelab to najlepsza szkoła administracji, bo każdy błąd boli osobiście. Kilka lekcji, które zostały ze mną na dłużej:
- monitoring bez alarmów to tylko ładny wykres. Raz poczta nie działała kilka dni, zanim ktokolwiek zauważył. Dziś alarm przychodzi SMS-em po minucie lub dwóch,
- dwie kopie zapasowe nie mogą czytać serwera w tym samym czasie. Jednej nocy zawiesiły go na pięć godzin, więc dziś jedna sama ustępuje drugiej,
- backup, którego nikt nie odtworzył, jest tylko nadzieją. Próbne odtwarzanie to stały punkt planu,
- dokumentacja ma być w repozytorium, obok konfiguracji, i ma mówić, jak jest dziś, a nie jak było pół roku temu,
- nazwa maszyny to nie sprzęt. Po wymianie komputera pod tą samą nazwą łatwo pomylić, o którą fizyczną maszynę chodzi,
- mniej znaczy lepiej. Usunięcie zbędnej nakładki na Dockera, która kilka razy dziennie się wywracała, dało więcej stabilności niż niejedna nowa usługa.
(powiększ)Strona serwera: my78.pl
Serwer ma swoją stronę. Na wejściu kręci się płyta 78 obrotów na minutę, którą można złapać i zakręcić. Pod spodem jest spis usług dla rodziny z krótkim opisem każdej z nich.
Panele administracyjne pokazują się na tej samej stronie tylko w domowej sieci i przez VPN. Serwer sprawdza adres odwiedzającego, więc z internetu nie widać nawet ich nazw. Strona powstała w Astro, a nowa wersja wdraża się sama po oznaczeniu jej w repozytorium.
(powiększ)Homelab nie jest po to, żeby było taniej. Jest po to, żeby wiedzieć, gdzie są moje dane, i umieć to naprawić, gdy przestanie działać.
- Aleksander Kowal
Co dalej
- pełna segmentacja sieci: IoT, kamery i osobna sieć dla dzieci z limitem czasu,
- jedno konto dla każdego domownika we wszystkich usługach (SSO),
- próbne odtwarzanie kopii jako cykliczne zadanie, a nie jednorazowa akcja,
- integracja alarmu, licznika energii i gniazdek w Home Assistant bez chmur producentów.
Każdą warstwę i aplikację opisuję osobno w serii wpisów na blogu. Zaczyna ją wpis Zbudowałem serwer domowy. Po co mi własna chmura.
Stack
- Ubuntu Server, Docker, Portainer, Beszel,
- TP-Link Omada z lokalnym kontrolerem, VLAN-y,
- AdGuard Home, Technitium DNS, Cloudflare DNS,
- reverse proxy z Let’s Encrypt, CrowdSec, WireGuard,
- NAS z RAID5 i cache NVMe, nocne obrazy serwerów,
- Uptime Kuma z alarmami SMS, kopia plików na dysk USB,
- Mailcow, Nextcloud, Immich, Vaultwarden, OneDev, n8n, Home Assistant,
- Astro (strona my78.pl).
Przydał się ten tekst?
Nowe teksty na maila
Raz na jakiś czas, gdy pojawi się nowy wpis albo projekt. Bez reklam.
Masz pomysł, pytanie albo uwagę? Napisz do mnie:Włącz JavaScript, żeby zobaczyć adres e-mail
