O czym jest ten film
- Scott Tolinski rozmawia z CJ Reynoldsem (zastępującym Wesa Bosa) o domowych serwerowniach: sprzęcie, sieci, dyskach, automatyce i usługach hostowanych samodzielnie.
- CJ jeździ na używanej stacji roboczej Dell Precision — 48 rdzeni i 128 GB RAM — na której pod Proxmoxem wirtualizuje cały swój park usług, a krytyczne narzędzia wydziela na osobne Raspberry Pi.
- Scott pokazuje szafę rack wydrukowaną w 3D z PETG i PLA, dopasowaną co do milimetra pod biurko, z Synology DS918+ (40 TB), Macem mini i miejscem na nadchodzącego Maca Studio z 256 GB pamięci.
- Sieć CJ to własna zapora na OPNsense, dwa łącza po 2 Gb/s w równoważeniu obciążenia, światłowód SFP+ i trzy sieci VLAN: domowa, gościnna oraz dla kamer i IoT.
- Scott postawił na gotowe produkty: mesh eero Wi-Fi 7 od Amazona — pół roku bez przestoju, kosztem mniejszej kontroli.
- Zdalny dostęp obaj opierają na Tailscale (Scott dopłaca za węzeł wyjściowy Mullvad), a domowe usługi mają własne domeny z certyfikatami SSL dla lokalnych adresów IP, wystawianymi przez Cloudflare i Caddy.
- Na dyskach: Synology z hybrydowym RAID-em i kopią poza domem, u CJ dodatkowo odłączana macierz RAID na USB-C jako zimne archiwum oraz Beelink z sześcioma dyskami M.2 pod ZFS jako magazyn bieżący.
- Automatyka domowa to Home Assistant i sprzęt lokalny: Lutron Caséta, przełączniki z Tasmotą/ESPHome, czujniki Bluetooth, kamery Wyze z firmwarem Thingino nagrywające lokalnie w Frigate.
- Wśród aplikacji: Jellyfin, Audiobookshelf, Immich, Tube Archivist, offline kopie Wikipedii z Kiwix i Paperless-ngx na instrukcje obsługi urządzeń.
- Finał poświęcono agentom AI: własnej aplikacji Scotta do zadań i dokumentów, T3 Code serwowanemu z własnej maszyny, u CJ — OpenCode w przeglądarce, Open WebUI i własny „serwer OpenAI” na subskrypcji ChatGPT.
10 najważniejszych takeaways — z kontekstem zastosowania
1.Używane stacje robocze to najtańsza droga do potężnego serwera domowego
Na czym polega: CJ kupił Della Precision z dwoma Xeonami (48 rdzeni, 128 GB DDR3) za ok. 500 dolarów na aukcjach majątku instytucji. Moc, której w domu nie wykorzysta nikt poza wirtualizacją, kosztuje ułamek ceny nowego sprzętu.
Jak stosować: szukaj zlikwidowanych stacji roboczych (np. Dell Precision T5610 za ok. 300 dolarów); tania pamięć DDR3 pozwala stopniowo dobudowywać RAM, zanim zainwestujesz w nową maszynę.
Na co uważać: prawdziwe serwery serwerowniane bywają równie tanie, ale ich wentylatory słychać przez ściany — przed zakupem posłuchaj, jak dany model hałasuje. Używane stacje robocze są pod tym względem bezproblemowe.
2.Krytyczne usługi wydzielaj na małe, niezależne urządzenia
Na czym polega: sejf haseł (Vaultwarden) i proxy dostępowe (Caddy) działają u CJ na osobnych Raspberry Pi. Gdy padnie główna maszyna, on nadal ma hasła i dostęp do usług.
Jak stosować: przed uruchomieniem każdej usługi zapytaj: „co się stanie, gdy padnie host?”. Jeśli odpowiedź brzmi „utknę bez haseł albo bez dostępu do wszystkiego” — przenieś tę usługę na niezależny sprzęt.
Na co uważać: każde dodatkowe urządzenie to kolejna rzecz do aktualizowania i zasilania. Wydzielaj tylko to, czego awaria naprawdę boli.
3.Zapora na OPNsense: łatki na czas i pełna kontrola, bez łaski producenta
Na czym polega: konsumenckie routery dostają aktualizacje rzadko i po paru latach przestają być wspierane, a to urządzenie na wejściu do sieci powinno być załatane najlepiej. OPNsense na dedykowanym sprzęcie (ok. 275 dolarów za barebone) daje kontrolę nad regułami, VLAN-ami i DNS-em oraz stały strumień poprawek bezpieczeństwa.
Jak stosować: kup pudełko pod firewall (porty 2,5 Gb + SFP+), dołóż RAM i dysk, a modemy dostawców ustaw w tryb bridge — unikniesz podwójnej, słabszej zapory u operatora.
Na co uważać: to projekt na tygodnie lub miesiące nauki. Jak mówi CJ, domowy administrator sieci to etat na pół etatu — a rodzina korzystająca z sieci nie doceni tygodni niestabilności.
4.Dwa łącza internetowe, równoważenie ruchu i modem 5G jako ostatnia deska ratunku
Na czym polega: CJ łączy dwa łącza po 2 Gb/s od różnych operatorów we wspólną bramę — urządzenia korzystają z obu na zmianę, więc awaria jednego nie odrywa domu od sieci. Gdy raz padły oba (pożar kabli w alei), ratował go modem 5G wpięty w trzeci port.
Jak stosować: jeśli pracujesz zdalnie, drugie łącze od innego dostawcy to tania polisa; w OPNsense konfiguruje się je jako współdzieloną bramę.
Na co uważać: suma łączy musi zmieścić się w uplinku do switcha — kabel 2 Gb/s między zaporą a przełącznikiem staje się wąskim gardłem. Dlatego warto mieć port SFP+ 10 Gb i światłowód.
5.Tailscale jako kręgosłup zdalnego dostępu, Mullvad jako wyjście do internetu
Na czym polega: Scott ma w tailnecie dosłownie wszystko — od serwerów po Steam Decka — a za ok. 5 dolarów miesięcznie dokupuje węzeł wyjściowy Mullvad, przez który może przepuścić cały ruch dowolnego urządzenia.
Jak stosować: wpuść do tailnetu rodzinę; dostęp do usług ograniczaj regułami i zatwierdzaniem per urządzenie. To zastępuje tunelowanie usług do internetu i wielokrotne logowania.
Na co uważać: funkcje typu „dostęp z dowolnego miejsca świata” (np. QuickConnect w Synology) to też zaproszenie dla całego świata — wyłącz je i wchodź przez VPN.
6.Własne domeny z certyfikatem SSL dla lokalnych adresów IP
Na czym polega: dzięki pluginowi Cloudflare, Caddy potrafi wystawiać certyfikaty Let’s Encrypt dla domen wskazujących na adresy prywatne (10.x, 192.168.x) — sam Let’s Encrypt tego nie zrobi, bo nie może zweryfikować serwera pingnięciem. W Cloudflare wystarczy jeden rekord z gwiazdką.
Jak stosować: postaw jeden Caddy jako punkt wejścia dla wszystkich usług; każda dostaje subdomenę, a domownicy wpisują po prostu adres jak na zwykłej stronie — zamiast IP z portem. To samo działa w pracy z kodem: dev server z domeną i SSL daje bezpieczny kontekst w przeglądarce.
Na co uważać: sam wpis DNS nie wystarczy — wystawienie certyfikatu wymaga weryfikacji własności domeny (wyzwanie DNS). Trzeba to skonfigurować raz i porządnie.
7.Segmentuj sieć: dom, goście oraz kamery i IoT osobno
Na czym polega: trzy sieci VLAN — główna, gościnna odizolowana od serwerowni i „bezpieczeństwa” z kamerami oraz inteligentnymi urządzeniami — z regułami zapory ograniczającymi ruch między nimi.
Jak stosować: taguj sieci VLAN na przełączniku i access pointach, a reguły ruchu definiuj w zaporze. Goście dostają hasło do internetu, nie do Twoich serwerów.
Na co uważać: zbyt ciasne reguły między VLAN-ami potrafią uciąć automatykę domową — wprowadzaj zmiany po jednej i testuj.
8.Mieszaj nośniki: SSD na co dzień, RAID jako odłączane archiwum, kopia poza dom
Na czym polega: CJ trzyma bieżące media na dyskach M.2 (pule ZFS udostępniane przez Sambę), a macierz RAID 10 na USB-C podłącza tylko do zrzucenia archiwum — dyski nie kręcą się i nie zużywają bez potrzeby. Scott na Synology używa hybrydowego RAID-u (SHR) i trzyma kopię poza domem w Backblaze.
Jak stosować: rozdziel to, co musi być „pod ręką”, od tego, co ma przetrwać lata. Zimną kopię trzymaj odłączoną od prądu, a na wypadek pożaru czy kradzieży rób backup poza domem.
Na co uważać: tolerancja na awarię jednego dysku to nie backup — dwa padnięte dyski albo zdarzenie losowe kasują dane, jeśli poza macierzą nie ma kopii.
9.W automatyce wybieraj sprzęt lokalny: bez chmury, bez aplikacji z marketu
Na czym polega: przełączniki z firmwarem Tasmota lub ESPHome (na ESP32), żarówki Kauf, czujniki Govee komunikujące się wyłącznie po Bluetooth (zbierane przez proxy w Home Assistant) — nic nie wysyła danych na czyjeś serwery i nic nie wymaga subskrypcji. Kamery Wyze z firmwarem Thingino nagrywają lokalnie przez Frigate.
Jak stosować: szukając urządzeń, filtruj po hasłach „Tasmota”, „ESPHome”, „local control”. Czujniki Bluetooth łącz przez proxy z ESP32 lub Raspberry Pi zamiast przez aplikację producenta.
Na co uważać: tanie urządzenia często domagają się instalacji aplikacji wysyłającej dane producentowi — to sygnał, żeby poszukać alternatywy albo przeflashować sprzęt.
10.Narzędzia AI serwuj z własnej sieci — jedna maszyna, dostęp z przeglądarki
Na czym polega: CJ trzyma na jednej maszynie wirtualnej pod Proxmoxem OpenCode (z wbudowanym serwerem www), code-server (VS Code w przeglądarce), Termiusa do SSH i Open WebUI. Scott używa T3 Code, które jednym kliknięciem aktualizuje się na wszystkich jego maszynach i pozwala przełączać silniki agentów.
Jak stosować: wydziel jedną mocną maszynę deweloperską, trzymaj na niej projekty i wchodź na narzędzia przez przeglądarkę z dowolnego urządzenia w sieci.
Na co uważać: zasoby wirtualnych maszyn to dobra moneta — serwer Minecrafta dla dzieci potrafi uciąć słabszą maszynę. A jeśli interfejsu używają domownicy, musi działać bez przerw: awarie „aplikacji życiowej” słychać w całym domu.
Redakcyjne tłumaczenie
Wstęp
Scott Tolinski: Witajcie w Syntaxie. Dziś rozmawiamy o domowych serwerowniach — o wszystkim, co uruchamiamy we własnych sieciach i jak to robimy. Nazywam się Scott Tolinski, a ze mną osoba stworzona do tego tematu: CJ Reynolds. Co słychać?
CJ Reynolds: Nie narzekam. Cieszę się na tę rozmowę — mam mnóstwo do opowiedzenia i jakoś nigdy wcześniej nie miałem okazji.
Scott: Ja cieszę się szczególnie, bo wiem, że siedzisz w rzeczach, w których powinienem usiąść. Przeglądając notatki do odcinka, kilka pozycji z Twojej listy mocno mnie zaintrygowało. Przejdziemy przez sprzęt, oprogramowanie, sieć, NAS-y, automatykę, media — wszystko. U mnie stoi duża szafa rack, w której działa pełno rzeczy, a niedługo zrobi się jeszcze bardziej kosmicznie, bo przyjeżdża nowy komputer. Zaczynajmy: czym Ty jeździsz?
Sprzęt CJ: koń roboczy z drugiej ręki
CJ: W moim racku mieści się zapora ogniowa (wrócimy do niej) i kilka maszyn. Mam dedykowane pudełko na firewalla, kilka przełączników PoE, maszynę do AI — nagrałem o niej osobny film — oraz obudowę NAS na cztery dyski. Uwaga: to nie jest macierz sieciowa, tylko po prostu pojemnik na dyski, który podpinam do komputera. Do tego mały Beelink na sześć dysków M.2 — i to jest mój NAS. W mojej głowie Beelink pełni rolę magazynu „gorącego”: wszystko, po co sięgam codziennie. Macierz RAID to z kolei archiwum „zimne” — podłączam ją tylko wtedy, gdy jest potrzebna.
Prawdziwą siłę napędową całego zestawu stanowi stacja robocza Dell Precision: dwa procesory Xeon po 24 rdzenie, czyli 48 rdzeni, i 128 GB RAM DDR3. Kupiłem ją jakieś cztery lata temu w zamyśle zrobienia świetnych rzeczy w domu, po czym leżała na półce półtora–dwa lata i dopiero ostatnie święta przyniosły porządne skonfigurowanie. Na tej maszynie działa Proxmox, mam pięć maszyn wirtualnych, a w każdej z nich kontenery. Większość moich usług mieszka właśnie tutaj.
Jest jeszcze Raspberry Pi 3 z jedną jedyną usługą: Vaultwardenem — samodzielnie hostowaną, otwartą wersją sejfu haseł Bitwarden. Trzyma wszystkie moje hasła. Pomyślałem sobie: gdybym postawił sejf na tym wielkim Dellu i maszyna by padła, to jak odzyskam hasła? Potrzebowałem czegoś malutkiego i niezależnego — a Raspberry Pi mam więcej, niż mam na nie pomysłów. Kolejne Pi właśnie konfiguruję na proxy dla wszystkich usług. Dziś Caddy siedzi w kontenerze w jednej z maszyn wirtualnych i przez niego w łatwy sposób sięgam po swoje usługi. Chcę to przenieść na dedykowany sprzęt, bo gdy padnie główna maszyna, tracę dostęp do wszystkiego. Podsumowując: serwer, trochę sieci — ale ten Dell to koń roboczy całego układu.
Scott: Fajnie. A jaki system na nim leci?
CJ: Proxmox. Dla słuchaczy, którzy go nie znają: to system operacyjny pełniący rolę hypervisora. Instalujesz go zamiast np. Debiana czy Ubuntu i dostajesz panel w przeglądarce, z którego tworzysz maszyny wirtualne i przydzielasz im sprzęt. Na laptopie użyłbyś VirtualBoksa czy UTM — Proxmox to odpowiednik tego pomysłu na poziomie całego systemu. Mają też Proxmox Backup Server i możliwość łączenia kilku maszyn w klaster z jednym panelem zarządzania.
I wskazówka sprzętowa: jeśli wchodzisz w ten świat, szukaj starego sprzętu serwerowego — na przykład na aukcjach majątku instytucji (Informacja dodatkowa: GovDeals — amerykańska platforma aukcyjna sprzedająca wycofany sprzęt instytucji publicznych.). Moja maszyna kosztowała około 500 dolarów; dziś, gdy wszystko drożeje, pewnie koło tysiąca. Zależnie od tego, ile rdzeni potrzebujesz, znajdą się tańsze — Dell Precision T5610 bywa na Amazonie za jakieś 300 dolarów. Nie ma 48 rdzeni ani 128 GB RAM, ale pamięć DDR3 jest tania, więc można stopniowo dobudowywać.
Szafa Scotta: drukowana w 3D, dopasowana co do milimetra
Scott: Wiedziałem, że Twój zestaw będzie ciekawy. Mój jest inny — pokażę zdjęcie mojego racka. Na samym dole stoi Synology DS918+, klasyczny czterodyskowy NAS (o magazynach opowiemy później) z 40 terabajtami na czterech dyskach. Miejsca dużo, bo jestem takim magazynierem: nie umiem kasować swoich materiałów. Każde nagranie z tej kamery ma absurdalny rozmiar, więc wszystko musi gdzieś trzymać na backupy.
Wyżej stoi Mac mini M2 — niestety tylko z 8 GB RAM, więc nieustannie się mozoli. Prowadzę na nim między innymi serwer Minecrafta dla dzieci i sporo usług wewnętrznych. Ta duża pusta przestrzeń jest zarezerwowana pod Maca Studio, który miejmy nadzieję wkrótce przyjedzie. Podobno wysyłka 12 listopada, ludzie już dostają swoje, a mój ani drgnie. Podam specyfikację, bo maszyna będzie poważna: 256 GB pamięci zunifikowanej, 4 TB dysku, procesor wyciśnięty do granic — 36-rdzeniowe M5 Ultra, 80-rdzeniowe GPU i 32-rdzeniowy silnik neuronowy. To będzie mój przyszły koń roboczy i maszyna do lokalnego uruchamiania modeli AI. Na zdjęciu nie widać jeszcze jednej sekcji: pod Raspberry Pi i klastery — drukuje się takie wsuwane prowadnice. Podobnie jak Ty, mam garść Pi: trzecia generacja czeka bez zajęcia, czwarta prowadzi Home Assistanta, a piątkę dopiero obmyślam. Jest slot zajęty przez SSD 4 TB podpięty do Maca mini i przełącznik sieciowy. To w sumie cała moja moc obliczeniowa.
CJ: Ten rack wygląda obłędnie. I jest w całości drukowany w 3D, tak? Widzę miejsca na wkręty czy klucze imbusowe, ale to wszystko plastik.
Scott: Wszystko, co nośne, jest z PETG; żółte ozdobniki — formalnie uchwyty — z PLA. Wtopiłem w nie mosiężne wkładki gwintowane i wkręcam śruby metryczne, M5 czy M6. I powiem Ci: ta konstrukcja jest piekielnie sztywna. Wydrukowany rack? Nie — to jest mocne i ciężkie jak diabli, tyle tam metalu. Z drugiej strony pewnie wydałem na wydruk więcej, niż kosztowałby kupny, przez samą ilość filamentu. Ale kupny nie dałby tego, co ten: dokładnie takie wymiary, jakie chciałem. Wszystko pasuje idealnie pod biurko, każdy komponent ma swoje miejsce, a półka pod Maca Studio została zaprojektowana dokładnie pod tę przestrzeń i ten wygląd. Da się to dowolnie dopasowywać. Mam nawet pół wysokości jednostki rackowej — pół U — i to z tej przyczyny, że ten świetny przelot Ethernet ma wysokość dokładnie pół U. Tak mało rzeczy fabrykuje się w pół U, że musiałem wydrukować dystans, żeby w szafie nie ziała dziura. Do zrobienia mam jeszcze mocowania wentylatorów z tyłu i boki, ale najpierw chciałem wszystko ustawić, zanim zamknę konstrukcję.
CJ: Niezależnie od ceny — warto. Porównaj moje zdjęcie z Twoim: moje maszyny stoją jedne na drugich byle jak, nic nie ma właściwej szerokości. Twoja szafa to cel, do którego warto dążyć.
O hałasie
Scott: Wróćmy na moment do wyborów sprzętowych. Kiedy składałem serwerownię, rozważałem prawdziwe serwery rack — da się je kupić niedrogo. Ale zanim to zrobisz, koniecznie posłuchaj, jak pracują ich wentylatory. Moja serwerownia jest praktycznie bezgłośna: wentylatory czasem się kręcą, ale nie usłyszysz ich z dwóch, trzech metrów.
CJ: Ja się nad tym zastanawiałem. U mnie prawie wszystko to Apple i Raspberry Pi, więc Mac mini jest cichy, a Mac Studio będzie prawie cichy — choć podobno pod pełnym obciążeniem robi się głośno. Największy hałas u mnie generuje NAS: nie wentylatory, tylko same dyski. Jest jeszcze interfejs audio, którego nie widać — Neumann MT48, mały komputer z własnym DSP — i uwierz, ma głośny wentylator. Chcę go wynieść gdzieś dalej. Synology okazało się zaskakująco nieuciążliwe, bo wszystkie operacje porządkowania i testowania danych (tzw. scrubbing) zaplanowałem wyłącznie na noc.
Sieć CJ: własna zapora ogniowa na OPNsense
Scott: Przechodzimy do sieci?
CJ: Śmiało. Kupiłem barebone stworzony pod jedną rolę: dedykowaną zaporę sprzętową. Cztery porty Ethernet 2,5 Gb, dwa porty SFP+, USB i tak dalej. Ideą jest postawienie na tym dedykowanego systemu zapory, który przejmuje rolę routera i firewalla. Większość ludzi używa routera od dostawcy internetu albo jakiegoś kupnego. Problem z routerami nawet od znanych producentów jest taki, że firmware aktualizują rzadko i po paru latach sprzęt przestaje być wspierany. W świecie, w którym wszystko jest hakowane i luki wysypują się wszędzie, urządzenie stojące na początku sieci powinno być załatane na bieżąco. Stąd ta maszyna — kosztowała około 275 dolarów w wersji barebone; musiałem dołożyć RAM i dysk.
System nazywa się OPNsense (Informacja dodatkowa: OPNsense to otwarta zapora ogniowa oparta o FreeBSD, wywodząca się z projektu pfSense, od którego forkowała się z pewnym rozgłosem w społeczności.). Dostajesz panel www, w którym zarządzasz regułami zapory, definiujesz przeznaczenie każdego portu, tworzysz VLAN-y i sieci gościnne — wszystko, czego oczekiwałbyś po routerze.
Drugi powód: równoważę obciążenie dwóch łączy. Mam 2 Gb/s od Xfinity i 2 Gb/s od Quantum Fiber, bo parę razy któregoś z nich brakowało przez kilka dni i nie chcę tego przeżywać ponownie.
Scott: Trzeba być online. To Twoja praca.
CJ: Dokładnie — moją pracą jest być online. Dwa porty Ethernet pracują jako wejściowe dla obu łączy, a OPNsense skonfigurowałem jako współdzieloną bramę: urządzenia w sieci korzystają na zmianę z obu. Dwie osoby mogą oglądać Netflixa, każda na osobnym łączu 2 Gb/s, i nie przeszkadzają sobie. Zdarzyło mi się nawet, że padły oba — w mojej alei wybuchł pożar i kable się spaliły — więc mam też modem 5G. To scenariusz najgorszy: wpinam go w trzeci port i dom znowu ma internet, gdy wszystko inne nie działa.
Przy tej okazji nauczyłem się czegoś o SFP+. To te małe kwadratowe porty pod portami Ethernet — połączenia światłowodowe. Policzmy: dwa łącza po 2 Gb/s dają razem 4 Gb/s. Gdybym ze zapory do switcha puścił kabel 2 Gb/s, to mimo 4 Gb/s łącza wszystkie urządzenia mogłyby kiedykolwiek nasycić ledwo połowę. A SFP+ to port 10 Gb — pojedynczy światłowód między zaporą a przełącznikiem przenosi 10 Gb/s, więc sieć potrafi wykorzystać oba łącza naraz. Przełącznik jest zresztą zwyczajny: tani, dziesięcioportowy, z portem SFP, do którego wpina się resztę sprzętu.
I jeszcze jedno: trzymam to wszystko na bieżąco, według harmonogramu. OPNsense jest bardzo żywe — poprawki bezpieczeństwa wchodzą nieustannie, do tego wszystko, co przychodzi z FreeBSD. To, co chroni moją serwerownię od strony internetu, jest aktualne i nie zależy od łaski producenta, który może kiedyś zechcieć wysłać aktualizację firmware’u — albo nie.
Scott: Szalone. A czy osobna zapora sprzętowa daje jakieś korzyści poza bezpieczeństwem?
CJ: Konfigurowalność. Oba modemy od dostawców ustawiłem w tryb bridge. Zwykle, gdy stawiasz taki układ, dostawca daje Ci modem z własnym, słabszym firewallem i ruch przechodzi przez dwie zapory po kolei. Tryb bridge daje mi bezpośrednie połączenie, a moja zapora widzi cały ruch wchodzący i wychodzący. Można też ustawić zaporę jako serwer VPN — jeśli używasz Tailscale, zamiast węzła w głębi sieci łączysz się bezpośrednio w samą zaporę. No i masz pełną kontrolę nad DNS-em. Ludzie stawiają Raspberry Pi z Pi-hole, żeby blokować reklamy na poziomie DNS — w OPNsense zrobisz to samo, z tymi samymi listami blokowania, ale na samym firewallu, bez kierowania ruchu DNS do osobnego urządzenia.
Scott: Człowieku, ty masz to rozgrzane. Co dalej?
CJ: Wi-Fi. To wszystko powyżej to sieć przewodowa, a bezprzewodową obsługują access pointy — mam TP-Linki z Wi-Fi 6. Wyszła siódemka za jakieś 200 dolarów, ale szóstkę nawet przy moich dwóch łączach po 2 Gb/s nie potrafię nasycić. Access point to zresztą urządzenie „głupie”: nie jest routerem i nie ma własnych usług — po prostu wpina się w sieć i nadaje sygnał. W praktyce zamienia sieć przewodową w bezprzewodową. Mam dwa w domu. I tu wracają VLAN-y, bo prowadzę trzy osobne sieci. Główną domową; gościnna — z hasłem, które daję odwiedzającym — jest odizolowana od serwerowni; jest też sieć „bezpieczeństwa”, do której podpięte są kamery i urządzenia IoT. W konfiguracji TP-Linka przypisuję sieci do VLAN-ów, a w zaporze definiuję reguły: dany VLAN może rozmawiać tylko z określonym zakresem adresów. Tak segmentuję całość.
Sieć Scotta: gotowy mesh i filozofia „ma działać samo”
CJ: Opowiesz o swoim przełączniku? Coś szalonego, czy zwykły 2,5 lub 10 Gb?
Scott: Mam port 10 Gb do niektórych rzeczy, ale na razie żadne urządzenie z niego nie korzysta — to częściowo inwestycja w przyszłość. Docelowo Mac Studio pójdzie na 10 Gb i kupię lepszy dock CalDigit z portem 10 Gb. Jedno ulepszenie w NAS-ie już zrobiłem: dokupiłem adapter Ethernet 2,5 Gb od UGREEN (z przeflashowanym firmware’em), bo wbudowane porty Synology są tylko gigabitowe — przynajmniej trochę szybciej.
A router? Chodzę na meshu Wi-Fi 7 — eero Max 7 od Amazona. To naprawdę bardzo dobry router: porty 10 Gb, a prędkości Wi-Fi 7 są kosmiczne i mam sporo urządzeń obsługujących tę generację. Trzy jednostki mesh dają pełne pokrycie, co u mnie jest kluczowe, bo biuro stoi osobno od domu — do niego mam wciągnięty pod ziemią kabel Ethernet, więc część sieci mieszka w domu, a serwerownia w biurze. Zgrzyt jest jeden: to Amazon, jest subskrypcja na VPN i blokowanie reklam, ciągły upselling — to mnie kłuje w oczy, wolałbym coś otwartego. Ale router jest tak dobry i tak szybki, że zdecydowałem się na wariant „mało zarządzania”. I programowo jest naprawdę fajnie: w aplikacji zrobię wszystko — sieci gościnne, osobna sieć IoT — a router sam aktualizuje się w nocy.
CJ: To ma sens. Jak porównamy nasze podejścia: moje zajęło miesiące — wymyślenia, decydowania, konfigurowania, łączenia. Więc jeśli zastanawiasz się w domu, co wybrać: bycie domowym administratorem sieci to w praktyce praca na pół etatu. U mnie żona też korzysta z sieci, więc musi działać i musi być szybka. Na gotowych produktach z półki większość czasu nie musisz robić prawie nic — po prostu działa.
Scott: Idealnie chciałbym jeszcze dorzucić tam Pi-hole, ale jakoś nie zrobiłem. Powiem tak: mam w tej chwili pół roku nieprzerwanej pracy. Internet ani razu nie padł — lepszy wynik niż Railway (Informacja dodatkowa: Railway — platforma chmurowa; ukłon w stronę jej przestojów.).
CJ: U mnie też jest już wyćwiczone, ale droga do tego była: parę tygodni sieci chodzącej w górę i w dół i żona była na mnie mocno zła.
Scott: Ja bym nie używał routera od dostawcy. CenturyLink z włóknem bardzo naciskał, żeby siedzieć na ich sprzęcie, ale wystarczy zadzwonić po… jak się nazywa ten klucz, który od nich dostajesz?
CJ: PPPoE — nazwa użytkownika i hasło. Ja też byłem na CenturyLink, przejęło ich Quantum i to teraz mam. W modemie Quantum działa to z pudełka, PPPoE już niepotrzebne — wpinasz się i działa. Możesz też ustawić tryb bridge i mieć w zasadzie bezpośredni dostęp.
Scott: Ja Quantum sprawdzałem, bo za 2 Gb/s chcieli tyle samo, co płacę za swoje — ale usłyszałem, że muszą na stałe przykręcić pudło do ściany, a punkt dystrybucyjny mam w salonie, obok telewizora. Nie, nie zepsują mi salonu.
CJ: Możliwe, że zależy od technika. Mój był mega: pokazałem mu całą serwerownię i pytam, gdzie to dać — a mój rack ma otwory z boku, więc wpasowaliśmy pudło opaskami. A wychodząc, dodał: „tak naprawdę możesz z tym zrobić, co chcesz; formalnie miało zostać, ale nam wszystko jedno, byle było podłączone”.
Scott: Ja dzwoniłem, umówiłem człowieka i pytam: „musicie to wkręcić w ścianę?”. „Tak.” „Nie da się inaczej?” „Nie.” No to odwołuję i dziękuję.
Zdalny dostęp: Tailscale na wszystkim
Scott: Powiedzieliśmy o sprzęcie i o tym, jak internet dochodzi do domu. Teraz: jak sięgać po swoje usługi? Domeny, Tailscale i tak dalej. Zacznę. Tailscale używam od dawna. Ludzie mówią: „użyj po prostu WireGuarda” — to protokół VPN, nie jestem ekspertem — ale Tailscale po prostu sprawia, że to łatwe: wielu użytkowników, reguły dostępu. Gdy dodaję coś do tailnetu, przechodzi przez kilka szczepli zatwierdzania i dostaje dokładnie wskazany dostęp do wskazanych maszyn. Wrzuciłem tam wszystko — nawet maszynę ze Steama i Steam Decka. Będąc poza domem, mogę połączyć cokolwiek z czymkolwiek, co skonfigurowałem. Jestem wielkim fanem tego projektu. Płacę też jakieś 5 dolarów miesięcznie za węzeł wyjściowy Mullvad dla Tailscale: gdy jestem w tailnecie z włączonym Mullvadem, cały ruch urządzenia idzie przez tego VPN-a. Tanio i bezobsługowo. A w sieci lokalnej używam Caddy do domen i SSL: każda domowa usługa, na jakimkolwiek urządzeniu, ma własną domenę. DNS w Cloudflare wskazuje na mój tailnet, więc nie muszę grzebać w plikach hosts. Żona i dzieci są w Tailscale — i zamiast wpisywać adres IP z portem, wchodzą na serwer Jellyfin po zwykłej domenie. Ktoś obcy może sobie wpisywać, co chce: nie wejdzie, bo nie jest w moim tailnecie.
CJ: U mnie podobnie. I to jest według mnie klucz do zrozumienia domowej serwerowni: hostujesz wszystko w domu, a czasem jesteś na wakacjach i chcesz czegoś użyć. Przed erą Tailscale trzeba było stawiać VPN we własnej sieci albo…
Scott: Ja tunelowałem wszystko przez Cloudflare Tunnel. A jak to zrobisz, potencjalnie wystawiasz usługę internetowi — każdy, kto zna adres tunelu, może próbować wejść. Dorzucasz kontrolę dostępu Cloudflare i nagle logujesz się trzy razy do każdej usługi.
CJ: Więc Tailscale to jest droga. Każda usługa u mnie ma subdomenę kupionej domeny, a te domeny wskazują na lokalne adresy IP. Robię to Caddym i Cloudflare, bo Cloudflare — jeśli hostujesz u nich domenę — pozwala wystawiać certyfikaty SSL dla domen wskazujących na adresy lokalne. Normalnie, gdy bierzesz certyfikat z Let’s Encrypt, muszą oni „pingnąć” adres, żeby sprawdzić, że to ten sam serwer. Na adres prywatny — 10.cokolwiek albo 192.168.cokolwiek — Let’s Encrypt z pudełka takiego certyfikatu nie wyda. Ale z pluginem Cloudflare i domeną trzymaną u nich — wydają. W Cloudflare mam jedno ustawienie: gwiazdka.mojadomena.com wskazuje moją sieć. I przy każdym certyfikacie Caddy po prostu pyta Cloudflare, czy rzeczywiście jestem właścicielem tej domeny. To cała integracja.
Scott: To może u mnie już tak jest, tylko zrobił to za mnie agent.
CJ: Sądzę, że Ty wskazujesz na adresy IP z tailnetu — a te nie wchodzą w prywatne zakresy, są osiągalne tylko wewnątrz tailnetu. Prawdopodobnie istnieje plugin Caddy, który to załatwia.
Scott: Możliwe. Ludzie, którzy tego nie znają: lokalne domeny to zbawienie. U mnie każda usługa deweloperska, każdy dev server przy projekcie ma domenę i SSL — dzięki temu mam bezpieczny kontekst w Safari, bez którego nie działa część API. Otwieram stronę na telefonie i zachowuje się jak normalna witryna.
CJ: I ostatni element układanki: Caddy jako punkt wejścia. Mam jeden serwer Caddy z dwudziestoma wpisami kierującymi na różne usługi — jeden proces wystawia certyfikaty i rozdziela ruch.
Magazyny danych
Scott: Przechodzimy do NAS-ów. Mój Synology DS918+ to klasyk gatunku: drogi, czterodyskowy, kiedyś wydajny na tyle, by transkodować wideo (w nowszym systemie to ograniczyli). Mam go od lat i po drodze wymieniałem dyski, aż doszedłem do 40 TB. Kopie poza domem trzymam w Backblaze, na najtańszej, „zimnej” klasie przechowywania. Kiedyś na Synology działało u mnie mnóstwo oprogramowania — Plex i różne rzeczy — ale większość przeniosłem na Maca mini, a Synology zostawiłem przy magazynowaniu i paru usługach, których nie chciało mi się przenosić.
CJ: Dla każdego, kto zaczyna: to akurat rozwiązanie „wszystko w jednym” — NAS, który uruchamia też kontenery Docker i potrafi hostować usługi. Mało konfiguracji: wpinasz dyski, masz magazyn sieciowy i możesz stawiać serwisy. Potem, jak ja, można to rozdzielić.
Scott: Mój jest szczelnie domknięty. Synology ma sporo mechanizmów dostępu zdalnego, typu QuickConnect — wszystko to mam wyłączone. Dostęp tylko przez klucze albo z sieci domowej. Nie chcę, żeby mój NAS wystawał do internetu w jakiejkolwiek formie.
CJ: I słusznie, bo QuickConnect to dostęp z dowolnego miejsca świata — wygodny, ale wtedy ktokolwiek na świecie może próbować się do niego dobrać.
Scott: Do tego osobni użytkownicy dla poszczególnych zbiorów — folder Syntax, folder Level Up — ograniczony zakres dostępu, wyłączone konto administratora. A montuję dyski jako wolumeny z automatycznym montowaniem na MacBooku Pro. I powiem: to była męczarnia. Automontowanie zawodziło, dyski znikały, Mac mini się restartował i trzeba było ręcznie podłączać wszystko od nowa.
CJ: U mnie, jak zwykle, wszystko poskładane z klocków. Motyw mojej serwerowni: przeznaczam na to absurdalnie dużo czasu i nie płacę za żadne usługi hostingowe — cały czas poszedł w składanie tego do kupy.
Scott: U mnie odwrotnie: kupiłem dużo gotowych produktów, bo wtedy nie chciałem tym zarządzać. Dziś, z lepszymi narzędziami i z AI, które pomoże mi zrozumieć, co z czym jest połączone, decyzje może wyglądałyby inaczej — nigdy nie byłem ekspertem od sieci. Ale wtedy wydawało się to najlepszą drogą.
CJ: Mój magazyn to dwa urządzenia. Najpierw macierz RAID — nie sieciowa. To dosłownie pudełko na do czterech dysków z przełącznikiem sprzętowego RAID-a z tyłu: ustawiasz tryb, wpinasz, a system widzi jedno urządzenie. Wyjaśnijmy, czym jest RAID: macierz niezależnych dysków z redundancją. Kilka dysków zestawiasz w jeden wolumen z dublowaniem albo danymi parzystości, tak by awaria jednego dysku nie zabrała danych. Ja mam cztery dyski po 10 TB w RAID 10, więc realnie 20 TB, ale mogę stracić dysk: wyjmuję, wkładam nowy, macierz się przebudowuje i jedziemy dalej. To USB-C, więc traktuję to jako zimne archiwum: podpinam, zrzucam pliki, odepinam — i stoi na racku bez prądu. Moim zdaniem dyski żyją tak znacznie dłużej, skoro nie kręcą się bez przerwy.
Gorący magazyn — wszystkie media — to tamten Beelink. Zgrabna, pionowa maszyna: po trzy gniazda M.2 z każdej strony, a w środku stos chłodzenia z wentylatorem. Z jednej strony trzy dyski po 4 TB, z drugiej trzy po 2 TB — dwa osobne pule. Trafiłem tuż przed podwyżkami cen: 4-terabajtowe kosztowały po 300–400 dolarów, dziś potrafią być po tysiąc. Na Beelinku leci Proxmox — bez żadnych maszyn wirtualnych — bo ma jeden z najwygodniejszych sposobów zakładania pul ZFS, czyli programowego zestawiania dysków w jeden wolumen. Pule udostępniam w sieci przez Sambę — stara technologia z Windows, którą dziś mówi każdy komputer. Dorzuciłem jeszcze Cockpit — narzędzie zespołu Fedory działające na praktycznie każdym Linuksie: panel www do zarządzania systemem, a przede wszystkim wygodne konfigurowanie pul ZFS, udziałów SMB i użytkowników. Zestaw jest trochę pokręcony, bo pewnie wystarczyłoby Fedora z Cockpitem zamiast Proxmoxa z Cockpitem — ale takie rzeczy buduje się po kawałku i decyzji z początku drogi już się nie cofa. Cockpit daje też strony do zarządzania zaporą i terminal z przeglądarki. Na tym jednym urządzeniu mieszkają wszystkie moje filmy, muzyka i książki — i każda maszyna w sieci może je montować, czytać i zapisywać.
Scott: Pokażę jeszcze swoją macierz, bo źle to opisałem. Cztery dyski: dwa po 14,6 TB i dwa po 12,7 TB — w kolejności kupowania. Synology pracuje na swoim hybrydowym RAID-zie (SHR) i dzięki temu mam 40 TB dostępnych. SHR pozwala wyjąć dysk i wsadzić inny, a macierz sama się naprawia. Wytrzymuję awarię jednego dysku; gdyby padły dwa, byłby kłopot. Ale mam alerty na wszystko — dostanę wiadomość, że dysk się sypie, i działam od razu. Do tego kopia poza domem. No i warstwa cache na SSD: 2 TB po M.2 wpinane od spodu, bo dyski NAS-owe są wolne, a przyzwyczailiśmy się do SSD. Cache działa tak: plik, po który sięgasz, ląduje na SSD i tam zostaje „na gorąco”, dopóki go używasz; przestajesz — znika.
Zarządzanie kontenerami
Scott: Teraz kontenery. Na Synology używam wbudowanego Container Managera, a na Macu mini OrbStacka — nowoczesny, prosty zamiennik Docker Desktopa. Nie mam zaawansowanego systemu: wrzucam wszystko do OrbStacka i jakoś to żyje.
CJ: Nie nazwałbym swojego zaawansowanym — po prostu chcę zarządzać wszystkim z przeglądarki. To dają mi Proxmox i jeszcze jedno narzędzie: Portainer. W Proxmoxie tworzę maszyny wirtualne, po 8 CPU i 16–24 GB RAM każda — każda z nich to z osobna tłusta maszyna — a na każdej działa Docker z kontenerami. Proxmox umie też kontenery sam w sobie, ale z tego nie korzystam. A gdy kontenerów jest mnóstwo, docker ps dowiezie Ci tylko do pewnego miejsca. Portainer instalujesz na dowolnej maszynie z Dockerem — może być nawet na desktopie — i dostajesz panel www ze wszystkimi uruchomionymi kontenerami. Możesz dodawać rejestry z gotowymi plikami compose: na usługi typu Jellyfin czy Audiobookshelf ludzie przygotowali gotowe definicje, wrzucasz je do Portainera i kontenery wstają. I podobnie jak w Proxmoxie: wiele instancji na wielu serwerach, jeden panel. Ostatni element to Termius: centralny punkt zarządzania serwerami, do których często wchodzę przez SSH — z poziomu przeglądarki albo aplikacji mobilnej.
Automatyka domowa
Scott: Robiliśmy z Wesem cały odcinek o automatyce, więc pójdziemy szybciej. Home Assistant działa mi na Raspberry Pi z Home Assistant OS i wszystko w domu jest do niego podpięte. Prawie wszystkie włączniki wymieniłem na Lutrony Caséta — i ściemniacze, i zwykłe. Świetnie się sprawdzają i wszystko da się automatyować. Moja żona nienawidzi, gdy o 19:00 gasną się światła w kuchni, kiedy ma gości — potrzebuję czujnika obecności na radarze milimetrowym. Mam sporo czujników temperatury, termostat Ecobee. Ostatnio zakochałem się w urządzeniach na bazie ESP od Apollo Automation: drukowane w 3D pudełeczka, bez własnego oprogramowania, bez zmuszania do instalowania bylejakiej aplikacji — robią się po to, by od razu podpiąć się do Home Assistanta. Mają między innymi modul audio, a ja mam ich czujnik jakości powietrza: nie tylko CO2, ale też pyły zawieszone i wykrywanie pleśni. Za tę cenę — znakomity. Skoro nie płacisz za ich oprogramowanie i subskrypcje, samo urządzenie wychodzi dużo taniej. W tym tygodniu przeflashowałem kamery Wyze — nawet V4, do której właśnie doszło wsparcie — firmwarem Thingino (Informacja dodatkowa: Thingino — otwarty firmware dla tanich kamer IP, wyzwalający je z dependence od chmury producenta.), żeby używać ich poza ekosystemem Wyze. Postawiłem Frigate, który łączy te kamery i nagrywa na mój magazyn, a nie na cudze serwery czy kartę SD. Działa całą dobę i zapisuje na NAS, na którym mam góry miejsca. Przez Home Assistanta ruszają automatyki z czujnikami obecności, prosto z kamery. Proces flashowania był gładki — Claude Code przeprowadził mnie przez niektóre kroki. To naprawdę minimalna robota: wgrywasz firmware na kartę microSD, wkładasz, włączasz kamerę, reszta dzieje się sama.
CJ: Chcę w tym samym kierunku, bo Frigate wisi u mnie na liście od wieków, a mam kilka kamer Wyze. To będzie mój kolejny projekt.
Scott: Na razie zrobiłem dwie, reszta czeka.
CJ: U mnie Home Assistant działa jako maszyna wirtualna na tamtym Proxmoksie — dają gotowy obraz VM. Wszystko podpięte. I podobnie jak Ty, szukam sprzętu nieuzależnionego od chmury. W każdym pokoju mam inteligentny włącznik wmontowany w ścianę — marki już nie pamiętam, ale szukam urządzeń z firmwarem Tasmota albo ESPHome. To bardzo podobne projekty: w środku siedzi ESP32 z oprogramowaniem gotowym do automatycznego połączenia z Home Assistantem. Takie włączniki z Matter na Amazonie kosztują 20 dolarów i nie mają nic wspólnego z chmurą — montujesz i łączą się lokalnie. Z żarówek lubię markę Kauf: po 10 dolarów, przychodzą z ESPHome, można wgrać Tasmotę i działają od razu. Ciekawe są też czujniki temperatury Govee: trójpak za 35 dolarów, temperatura i wilgotność, śledzenie minimów i maksimów. Producent każe zainstalować aplikację — jedną z tych klonowanych miliard razy, które wysyłają Twoje dane producentowi. Pierwsza myśl: nie, bracie, nie. Ale to w gruncie rzeczy urządzenia czysto bluetoothowe: nieustannie nadają aktualną temperaturę i wilgotność. Nie potrzebujesz żadnej aplikacji — wystarczy ESP32 albo małe Raspberry Pi jako proxy Bluetooth, a Home Assistant ma gotową integrację. Proxy stoi w salonie i zbiera sygnał ze wszystkich czujników; ja je włączam, paruję w panelu i mam czujniki temperatury w każdym pokoju i na ganku. Czysty Bluetooth, żadnego Z-Wave. Zamek w drzwiach — został z poprzedniego właściciela — jest na Z-Wave, więc kupiłem malutki dongle USB Z-Wave do serwera, mapuję go do maszyny wirtualnej i Home Assistant gada z urządzeniami Z-Wave.
Scott: A termostat mam na Zigbee — też przyszedł z domem. Ja z kolei obsługuję wszystko: Z-Wave, Matter — bo tyle protokołów trzeba, żeby całość działała.
CJ: I o to chodzi: te czujniki kosztują poniżej 10 dolarów sztuka, a tak taniego Z-Wave czy Zigbee nie znajdziesz.
Scott: Mogę analizować Home Assistanta bez końca. Mam automatykę grającą naszą rodzinną playlistę kolacyjną — starannie wyselekcjonowane 600 utworów — codziennie przy wieczerzy: głośniki w całym domu włączają się na idealnej głośności i leci losowy kawałek z listy. To jest to.
Aplikacje i media
Scott: CJ, ty masz tego mnóstwo — a część rzeczy mamy wspólną. Z mediów prowadzę Jellyfina i Plexa równolegle. Powód: problemy z pobieraniem offline w Plexie, a byłem w nim tak zakorzeniony — Plex na telewizorze — że nie chciało mi się flashować telewizora z Tizenem pod Jellyfina. Ostatnio jednak żyję głównie Jellyfinem i podoba mi się możliwość dopasowywania. W obu systemach są rzeczy, których nie znoszę — jak działają kolekcje, jak zarządza się mediami. Żadna z tych usług nie działa tak, jakbym chciał: wskazuję na moje pliki i działa jak Netflix. Zarządzania jest po prostu za dużo. Ale mam to wyćwiczone. Na telewizor zainstalowałem niestandardową aplikację Jellyfina — to zresztą był osobny projekt. Prowadzę Audiobookshelf — aplikację wspaniałą, taki Plex dla audiobooków. Mobilne aplikacje są słabe, ale jest mnóstwo zamienników od osób trzecich, a odkąd vibe coding jest rzecz, ludzie masowo nabijają aplikacje typu „requests” do Audiobookshelfa. Immicha trzymam jako zamiennik Google Photos — choć Google Photos nadal prowadzę dla rodzinnego udostępniania zdjęć, więc dane mam w dwóch miejscach, czego nie kocham. Ale lubię, że Immich robi backupy automatycznie i lokalnie: mógłbym skasować całe Google Photos i wszystko by dalej działało. No i serwer Minecrafta dla watahy dzieci — wchodzimy właśnie w mody. I kiedy zapytam agenta, czemu Mac mini się dławi, odpowiada zawsze: „masz ten serwer Minecrafta, wyłącz go”. Nie mogę wyłączyć! Dzieci dzwonią. Mój syn ma „tin can”, taki telefon stacjonarny dla dzieci — i moment, w którym serwer pada, ta rzecz dzwoni bez przerwy.
CJ: U mnie z mediami bardzo podobnie. Jellyfin na filmy, seriale, a ostatnio odkryłem, że i na muzykę: wrzucasz pliki, a on sam pobiera okładki albumów i ma widok z listą utworów. Na Androidzie używam FinAmpa — integruje się idealnie i pozwala synchronizować muzykę. Poza domem nie sięgam do Jellyfina; z FinAmpa wybieram albumy na dany tydzień i pobieram na telefon — bez streamowania. Działa też z Android Auto. Albumy leżą na serwerze mediów, Jellyfin je czyta, aplikacja się synchronizuje. Audiobookshelf obsługuje też podcasty — zapis lokalny i offline na magazyn domowy zamiast pobierania na urządzenie — choć z tego korzystam rzadko. A poza siecią domową sięgam do Jellyfina przez Tailscale, więc formalnie nie jest to „poza siecią”.
Scott: Nie wiedziałem, że Audiobookshelf robi też podcasty. Dla mnie ten projekt to wielkie odblokowanie — słucham teraz mnóstwa audiobooków. Znasz „Dungeon Crawler Carl”?
CJ: Znam z widzenia; to jeden z tych tytułów, które by mnie wciągnęły, ale jakoś nie sięgnąłem. Podoba Ci się?
Scott: Niesamowicie. Lektor Jeff Hayes jest znakomity — robi różne głosy, a studio dorzuca efekty dźwiękowe, więc słuchanie jest bardzo immersyjne. Jestem przy tomie szóstym, oczywiście przez Audiobookshelf. W aplikacji pobieram audiobooki na telefon i słucham jak w Audible, bez streamowania.
O zdobywaniu mediów nie będziemy się rozwodzić, ale powiem swoje: kupuję płyty DVD na Amazonie i ripuję je MakeMKV. Tak to u mnie wygląda, ludzie.
CJ: Podobnie z płytami CD. Ale jest aplikacja, którą warto sprawdzić: Jellyseerr. To menedżer zgłoszeń medialnych — tyle powiem, poszukajcie. Robi pozyskiwanie materiałów dużo płynniejszym, gdy w domu kilka osób chce mieć coś na serwerze. A teraz błyskawiczna rewia pozostałych aplikacji. Miniflux jako czytnik RSS (robiliśmy o RSS-ach osobny odcinek) i Wallabag do „przeczytaj później”: co wartościowe zapisuję z czytnika, Wallabag synchronizuje, a aplikacja pobiera artykuły offline. Oba w kontenerach. Tube Archivist — kieruję go na wybrane kanały YouTube i wybieram, które filmy trafią na mój serwer; są harmonogramy automatycznych kopii i panel www. Wszyscy zakładamy, że YouTube będzie zawsze, a ja mam ulubione filmy z całych lat u siebie. Prawdopodobnie pod spodem używa yt-dlp, ale daje porządny interfejs.
Scott: To jest dobre, bo yt-dlp używam doraźnie i ciągle się psuje, ciągnę ręcznie, klikam i przeciągam… a tu masz harmonogramy.
CJ: Kolejny poziom: internet offline. Mam kopie Wikipedii, Stack Overflow i mnóstwa serwisów Stack Exchange — Ask Ubuntu, poradnia weterynaryjna i tak dalej. Wszystko z Kiwix (Informacja dodatkowa: Kiwix — projekt dystrybuujący offline kopie serwisów internetowych w plikach .zim.): regularnie przygotowują zrzuty, które pobierasz jako pliki ZIM. U mnie leżą na tym samym serwerze mediów — czyli mam Wikipedię bez internetu. Napisałem sobie też wewnętrzny menedżer biblioteki ZIM: sprawdza, czy są aktualizacje plików, pozwala przeszukiwać katalog Kiwix i pobierać na bieżąco — na przykład zawsze najświeższą Wikipedię, gdy tylko się pojawi. Kiwix daje też zrzuty DevDocs — w pełni samowystarczalne kopie dokumentacji Node.js, MDN i innych. Mam cały katalog z setkami zarchiwizowanych serwisów.
Scott: Przyda się, jak przy tych wszystkich atakach haków padnie cały internet.
CJ: Właśnie na to się przygotowuję. To mój plan na koniec świata: internet padnie, ale w moim domu internet będzie. Ostatnia rzecz, bardzo praktyczna dla gospodarstwa domowego: Paperless-ngx. Magazyn dokumentów — wrzucasz PDF-y, teksty, dokumenty Worda, kategoryzujesz, przeszukujesz z panelu. Ja trzymam tam instrukcje obsługi każdego urządzenia, które kupuję: pralka, suszarka, telewizor, słuchawki. Ile razy zapominam, jak sparować bluetooth w jakichś losowych słuchawkach, i trzeba się grzebać po sieci… A strony z instrukcjami są dziś nieprawdopodobnie spamerskie: reklamy wszędzie i każda zmusza do pobierania przez własny serwis. Ściągam PDF raz, wgrywam i mam natychmiastowe wyszukiwanie. Ogromne odblokowanie. Wielu używa tego do dokumentów osobistych — podatkowych i podobnych — to wirtualna kartoteka z indeksem.
Scott: Mam o tym całą teorię. Od dawna chcę kompletny katalog każdego urządzenia w domu: model, wersja oprogramowania — żeby mieć wszystko w jednym spojrzeniu i móc tymi rzeczami zarządzać, modyfikować je z pomocą AI czy po prostu grzebać samemu. Na razie buduję coś własnego w markdownie, ale to wygląda solidnie.
Agenty AI i kodowanie
Scott: Czas na agentów. Mam agenta działającego praktycznie non stop, wywodzącego się z mojego „osobistego urządzenia z promptem”. Wszystko stoi na pi durable (Informacja dodatkowa: w transkrypcie „pi durable” — środowisko ciągłego, trwałego uruchamiania agentów.). To aplikacja do zadań moich marzeń (nazwy zadań zmieniłem na potrzeby pokazu): zadania osobiste, priorytety, blokady — a w każdej chwili mogę odesłać zadanie agentowi i praca rusza natychmiast. Mam w niej pełny edytor dokumentów zapisujący wszystko do markdowna, wieloosobowy — żona może z niego korzystać — a każdy dokument ma własny panel agenta: rozmowa w nim odnosi się konkretnie do tego dokumentu, nie jest to ogólny czat (choć ogólny też jest). Do tego kalendarz, automatyczne naprawianie błędów… Pomysł zapisuję na gorąco, potem się do niego odnoszę. Całość ma WebMCP, więc moje inne agenty mogą nią operować, a agent w środku ma narzędzia do modyfikowania dokumentów i zadań. Korzystam z tego bez ustanku. (Przy okazji: sprzedam mikrofon KSM32, gdyby ktoś chciał.)
Do tego koduję ostatnio przez T3 Code serwowane z własnej sieci. Wszystko trzymam między Maciem mini a MacBookiem, a ja — przekonałem się po wielu próbach — po prostu lubię interfejs graficzny. Próbuję też czegoś w TUI, w rodzaju Herdera, czego jeszcze nie mogę pokazać. W T3 Code najbardziej cenię to, że potrafi renderować HTML w odpowiedzi. Mam skrypt wgrywany jako skill: gdy agent potrzebuje mojej opinii, generuje pytanie w ładnym interfejsie — widzę wyraźnie, o co właściwie pyta i czego ode mnie chce. Robi też ładny interfejs do mojego Dexa, czyli zarządzania zadaniami agenta: widzę, na jakim jest etapie. A rzeczy rozwlekłe chowa w akordeon — wiesz, jak AI wyprodukuje wielki bełkot i człowiek mówi „no dalej” — więc mam interaktywne rozwijane sekcje. Cenię to sobie tym bardziej, że długo wzbraniałem się przed tak głębokim systemem — z Herderem było mi dobrze. Ale mogę otworzyć sesję na dowolnej maszynie w mojej sieci, posyłać ją do różnych silników agentów, a gdy aktualizuję jedną instancję — jeden klik i wszystkie się aktualizują. To samo z silnikami. Do faktycznej pracy w kodzie używam Zeda z Zed Remote.
CJ: To, co pokazałeś w T3 Code, wygląda świetnie. To ich wbudowany renderer czy coś Twojego?
Scott: To zwykły HTML. Po prostu kazałem agentowi trzymać się protokołu: wysyła dane do skryptu, który generuje widok z mojego szablonu. Agent nie wymyśla interfejsu za każdym razem — ma sztywny format wejścia i wyjścia, a cała instrukcja to jedno zdanie w globalnym kontekście: „używaj tego szablonu, odpowiadaj w tym formacie”. Działa znakomicie.
CJ: Super widzieć Twoją aplikację do zadań, bo sam mam podobną — zbudowałem dla nas z żoną: zadania, przypomnienia i okienko czatu. Nasz tryb pracy sklejał się dotąd byle jak w Kalendarzu Google i Google Keep, a teraz mamy wszystko w jednym solidnym miejscu. Coraz więcej ludzi buduje takie aplikacje-zarządcy życia dla samych siebie — nie produkt na świat, tylko narzędzie pod własny sposób pracy.
Scott: Dokładnie. Mogę współdzielić zadania z Courtney albo zostawić osobiste; zadania pokazują się w kalendarzu i przeciągam je na konkretny dzień. Zbudowałem też narzędzie naprawcze interfejsu: klikam, zaznaczam element, który się posypał, opisuję, co nie gra — lecą zrzut ekranu, korzeń DOM-a i opis — a to trafia do procesu naprawczego na moim agencie i gotowa poprawka sama wciąga się do kodu. Naprawianie stało się banalne.
CJ: Co istotne, gdy z oprogramowania korzysta małżonka. Ile smsów dostałem w stylu „czat AI nie działa!”.
Scott: U nas dochodziło do przepychanek: myślałem, że działa, a nie działało.
CJ: Ja do podobnych celów, do których Ty używasz T3 Code, służę się OpenCode. Ma wbudowany serwer: opencode serve (kiedyś opencode web, teraz domyślne w wersji 2) — proces w tle, do którego wchodzisz przeglądarką i odpalasz sesje. Jedna z maszyn na moim Proxmoksie to dedykowana maszyna deweloperska: najwięcej RAM-u, najwięcej CPU. Na niej działa OpenCode i na niej leżą wszystkie moje projekty — wchodzę z przeglądarki i koduję na tym serwerze.
Scott: Moje projekty są rozdzielone: część na MacBooku Pro (64 GB RAM), część na Macu mini — bo mini ma te 8 GB i się dławi.
CJ: I to jest piękno dużej maszyny pod hypervisorem: wyłączasz maszynę wirtualną, docinasz RAM albo CPU, włączasz — i ma więcej zasobów. Przy paru projektach z gigantycznym procesem budowania dawałem maszynie więcej dokładnie na czas tego budowania. Poza OpenCode: Termius, o którym mówiłem, do SSH z przeglądarki. Potem Open WebUI na serwerze — w praktyce ChatGPT, tylko skonfigurowany przez Ciebie: wgrywasz serwery MCP, dodajesz użytkowników, podpinasz różne modele, w tym lokalne. To gotowiec — bez kodowania własnego panelu.
Scott: Który ja sobie właśnie zakodowałem.
CJ: I nie umniejszam — u Ciebie to działa lepiej pod Twoje potrzeby. Open WebUI to bardziej rozwiązanie z półki. Testowałem jeszcze Vain, wcześniej Perplexica — samodzielnie hostowany odpowiednik Perplexity: wpytujesz w wyszukiwarkę, ona zbiera wyniki, a AI odpowiada na ich podstawie; bardziej zwarta wersja Open WebUI z wbudowanym wyszukiwaniem. Do tego code-server (github.com/coder/code-server) — VS Code w przeglądarce na tej samej maszynie deweloperskiej: widzę pliki, po których chodzi OpenCode, i nawiguję jak w zwykłym VS Code. I ostatnia ciekawostka: repo openai-oth od evanzho. Uruchamiasz na serwerze, logujesz się raz subskrypcją ChatGPT — Max albo jakąkolwiek — i serwer po prostu działa, przyjmując żądania tak, jakby był serwerem OpenAI. Dzięki temu każda usługa potrzebująca API zgodnego z OpenAI może z niego korzystać — bez ponownych logowań i zakładania kluczy. Siedzi u mnie na jednej maszynie: zalogowałem się raz i każdy serwis, któremu trzeba AI, korzysta z tego pośrednika.
Scott: Bardzo fajne.
Zakończenie
Scott: A Wy, ludzie? Co pędzi w Waszych serwerowniach? Co robicie u siebie? Chcę wiedzieć wszystko — także to, czego tu nie poruszyliśmy. CJ, coś przed końcem?
CJ: Poproszę odbiorców o krytykę naszych zestawów. Jak robię coś głupio — mówcie śmiało.
Scott: Tylko mojego nie dotykajcie. Nie jestem administratorem sieci. Ale piękno obecnych czasów polega na tym, że z AI nie trzeba być ekspertem — można się przez to przedzierać po omacku, z pomocą maszyny. To wszystko ode mnie.
Scott: Świetnie. Dziękuję, CJ, że zastąpiłeś Wesa. Do usłyszenia w następnym.
CJ: Na razie!
Scott: Cześć!