Szafy serwerowe z rzędami serwerów rack i panelami dysków

Homelab: własna chmura w domu

26.10.2026

Homelab zaczął się u mnie od jednego domowego serwera. Dziś to kilka maszyn, kilkadziesiąt 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ą.

Szafy serwerowe z rzędami serwerów rack i panelami dysków
Mój homelab jest skromniejszy, ale zasada ta sama. Zdjęcie: Wikimedia Commons, domena publiczna

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.

Zestawienie usług komercyjnych i ich zamienników w homelabie: Mailcow zamiast Gmaila, Nextcloud zamiast Dysku Google, Immich zamiast Zdjęć Google, Vaultwarden, WireGuard, AdGuard Home, OneDev, n8n, Docmost, Matomo, Home Assistant, własna bramka SMS, PufferPanel, Plex, Ghost i kontroler Omada
Usługi komercyjne i ich zamienniki w homelabie

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.

Schemat warstw homelaba: brzeg sieci z DNS i pocztą, sieć z VLAN-ami, dostęp przez reverse proxy i VPN, aplikacje w Dockerze, dane na NAS z RAID i nocnymi kopiami
Warstwy homelaba od brzegu sieci do kopii zapasowych

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,
  • logowanie SSH wyłącznie certyfikatem, bez haseł.

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.

Zbliżenie dwóch żółtych kabli sieciowych z wtyczkami RJ45
Zdjęcie: Wikimedia Commons, CC0

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 wszystkich serwerów, a retencję ustawiam osobno dla każdej maszyny.

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ł. Dlatego alarmy SMS dla każdej usługi są dziś pierwszym punktem planu,
  • 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.
Szafa krosowa z plątaniną niebieskich kabli sieciowych
Tak homelab wyglądać nie powinien. Zdjęcie: Wikimedia Commons, domena publiczna

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,
  • alarmy SMS dla każdego kontenera i każdego zadania backupu,
  • próbne odtwarzanie kopii jako cykliczne zadanie, a nie jednorazowa akcja,
  • integracja alarmu, licznika energii i gniazdek w Home Assistant bez chmur producentów.

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,
  • Mailcow, Nextcloud, Immich, Vaultwarden, OneDev, n8n, Home Assistant.