Ostateczny serwer domowy: budowa DIY z ZimaBoard 832

Eva Wong jest Technicznym Redaktorem oraz stałym majsterkowiczem w ZimaSpace. Życiowa geek z pasją do homelabów i oprogramowania open-source, specjalizuje się w tłumaczeniu złożonych koncepcji technicznych na przystępne, praktyczne przewodniki. Eva wierzy, że self-hosting powinien być zabawą, a nie czymś onieśmielającym. Poprzez swoje tutoriale umożliwia społeczności rozwikłanie konfiguracji sprzętowych, od budowy pierwszego NAS po opanowanie kontenerów Docker.

W tej serii wpisów na blogu mamy zaszczyt podzielić się niezwykłą historią D. Rowlanda, lojalnego członka społeczności, który jest z nami od etapu crowdfundingu ZimaBoard sprzed dwóch lat. Zakupił trzy płyty, każdą z unikalnym scenariuszem zastosowania. W tej serii wpisów zagłębimy się w jego doświadczenia z tymi płytami i jak stały się one nieocenionymi narzędziami w jego technologicznym arsenale.

W tym pierwszym z trzech wpisów na blogu D. Rowland pokaże, jak skonfigurować własny domowy serwer z ZimaBoard 832.

Poznaj D. Rowlanda

Zacznijmy od bliższego poznania D. Rowlanda. To typowy entuzjasta technologii; jest mężem, ojcem dwójki dzieci i doświadczonym specjalistą IT z bogatym doświadczeniem w sieciach i informatyce. Jego przygoda z technologią zaczęła się w liceum, a ostatecznie doprowadziła go do kariery w IT, gdzie pracował z serwerami, sieciami i różnymi technologiami. Jego spostrzeżenia i doświadczenia są nieocenione, gdy przyglądamy się, jak ZimaBoard wpisał się w jego życie.

Scenariusz domowego serwera: ZimaBoard 832

Jednym z głównych powodów, dla których D. Rowland kupił jednostkę 832, było samodzielne hostowanie usług, z których często korzysta. Przed ZimaBoard D. Rowland używał 3U niestandardowego „serwera” zbudowanego z części starych komputerów, które miał pod ręką lub które mógł pozyskać z recyklingu elektronicznego. Na zdjęciu jego domowej szafy serwerowej poniżej widać jeszcze stary serwer stojący na dole szafy, wyłączony.

ZimaBoard 832 przejął wszystkie zadania starego serwera, z wyjątkiem części przechowywania plików, które przeniesiono na Synology NAS (również widoczny na zdjęciu). ZimaBoard 832 D. Rowlanda stał się potężnym domowym serwerem, a oto jak go skonfigurował:

Środowisko sprzętowe:

  • ZimaBoard 832
  • 480GB SSD dla katalogu /home

System oprogramowania:

  • Debian 11.5
  • Docker i Docker-Compose

Jak skonfigurować swój ZimaBoard 832 jako domowy serwer

Konfiguracja domowego serwera D. Rowlanda obejmowała następujące kroki:

  • Instalacja systemu operacyjnego: Ponieważ jednostki ZimaBoard to systemy x86, D. Rowland mógł postępować zgodnie z standardową procedurą instalacji Debiana. Usunął partycję CasaOS i zainstalował czystego Debiana Bullseye na eMMC ZimaBoard 832. Wykorzystał eMMC jako partycję root/.
  • Dodatkowa pamięć: Do przechowywania danych użył dysku SSD o pojemności 480 GB dla katalogu /home. To oddzielenie systemu operacyjnego od danych zapewnia efektywne działanie.
  • Instalacja Dockera: Gdy system operacyjny był już uruchomiony, D. Rowland zainstalował Dockera i Docker-Compose. W czasie konfiguracji Docker i Docker-Compose były oddzielnymi komponentami; obecna wersja Debian Bookworm integruje Compose z Dockerem.
  • Migracja danych: Skopiował punkty montowania Dockera i docker-compose.yml ze swojego poprzedniego serwera na ZimaBoard 832. Ten krok zapewnił płynne przeniesienie danych i konfiguracji na nowy sprzęt. Niektóre ścieżki plików zostały zaktualizowane w docker-compose.yml oraz w skrypcie bash „Backup-to-S3”, aby odzwierciedlić nowy układ systemu.
  • Konfiguracja Dockera: Po zaktualizowaniu ścieżek plików w docker-compose.yml, D. Rowland mógł wykonać „docker-compose up -d” i wszystkie jego usługi wróciły do działania.

Aplikacje i zastosowania

Obecnie D.Rowland uruchamia następujące aplikacje i usługi na swoim ZimaBoard 832:

  • hkotel/mealie
  • linuxserver/calibre-web
  • gitea/gitea
  • matrixdotorg/synapse
  • vaultwarden/server
  • iarekylew00t/caddy-cloudflare
  • oznu/cloudflare-ddns
  • ugeek/webdav
  • itzg/minecraft-bedrock-server
  • mongo:4.4
  • pawelmalak/flame
  • drowland/phpfpm-alpine
  • drowland/fastapi
  • drowland/ipcalc
  • drowland/autolog

P: Te aplikacje służą różnym celom w różnych scenariuszach. Poniżej dzieli się nimi D. Rowland.

D.Rowland chciałby zaznaczyć, że podczas korzystania ze wszystkich powyższych kontenerów Docker, na podstawie jego zrzutu ekranu neofetch, jego 832 używa tylko 1,3 GB pamięci podczas normalnego codziennego użytkowania.

Projekty PythonD.Rowland: Serce domowego serwera ZimaBoard 832 stanowią różne projekty Python, które opracowałem i nad którymi aktywnie pracuję. Projekty te obejmują praktyczne narzędzia i eksperymentalne przedsięwzięcia. Obecnie uruchamiam:

  • Autoblog : Autolog to internetowy dziennik serwisowy samochodów, zaprojektowany do śledzenia i zarządzania historią konserwacji naszych rodzinnych pojazdów. Ułatwia utrzymanie pojazdów i zapewnia terminowe wykonywanie usług.
  • ipcalc : Zainspirowany perl IPCALC od kjokjo, chciałem stworzyć własną implementację kalkulatora podsieci IP w Pythonie. To przydatne narzędzie do zadań i obliczeń sieciowych.
  • fastapi : FastAPI to nowoczesny framework webowy w Pythonie, który eksploruję. Pozwolił mi zbudować przykładowe REST API, co z kolei pomogło w opracowaniu projektu integracji dostawcy do pracy.

Własne budowy kontenerów

D. Rowland: Niektóre kontenery Docker działają dobrze w większości przypadków, ale czasem wymagają drobnych poprawek.

  • PHP-FPM: Dostosowałem standardowy kontener PHP-FPM, dodając dodatkowe pakiety, których nie ma w normalnym wdrożeniu. Używałem go w kilku projektach, więc lista pakietów stale rośnie, m.in.: imagick, mongodb, mysqli, sodium itp.

Baza danych i pamięć masowa

D.Rowland:

  • MongoDB (v4.4): Ze względu na ograniczenia CPU ZimaBoard 832, który nie obsługuje AVX, zdecydowałem się użyć wersji MongoDB 4.4 do moich projektów. Na szczęście ta wersja dobrze sprawdza się w moich konkretnych zastosowaniach i projektach.
  • WebDAV: Ten kontener WebDAV odgrywa kluczową rolę w moim workflow. Używam go do synchronizacji notatek Obsidian na wielu urządzeniach. Zapewnia płynny dostęp do moich notatek, niezależnie czy jestem na telefonie, prywatnym PC, służbowym PC, tablecie czy laptopie.

Reverse Proxy i zdalny dostęp

D.Rowland:

  • Caddy Server: Aby uprościć zdalny dostęp do moich usług, gdy jestem poza domem, korzystam z Caddy Server jako reverse proxy. Jego łatwość konfiguracji i niezawodność czynią go idealnym wyborem. Nie użyłem kontenera deweloperskiego Caddy Server, ponieważ chciałem mieć zintegrowaną wtyczkę Cloudflare DNS.
  • Cloudflare DynDNS: Uruchamiam kontener Cloudflare DynDNS, aby bez wysiłku zarządzać moim domowym rekordem DNS A, zapewniając dostępność moich usług nawet gdy jestem w ruchu.

Inne kontenery

D.Rowland:

  • Mealie: Używam Mealie jako elektronicznej książki kucharskiej. Jeśli natknę się na coś, co brzmi dobrze, szybko i łatwo to dodaję. Dla mnie dodanie obrazów i dodatkowych pól na notatki sprawia, że jest lepsza niż ręcznie pisana książka kucharska.
  • Gitea: Moje osobiste repozytorium Git; używam go podczas pracy nad wszystkimi moimi osobistymi projektami w Pythonie i Powershell oraz jako mirror dla projektów służbowych.
  • Flame: To wspaniały pulpit, którego używam jako strony startowej w przeglądarce. Jest połączony z gniazdem Dockera, więc gdy dodaję nowe kontenery, mogę je łatwo podłączyć do pulpitu przy minimalnej konfiguracji.
  • Minecraft Bedrock: Uruchamiam serwer Bedrock zamiast wersji Java ze względu na ograniczenia pamięci. Nie używam modów, więc wersja Bedrock to bardzo prosty i lekki serwer do uruchomienia.

Bezpieczeństwo danych i kopie zapasowe

D.Rowland:

  • Backup Script: Bezpieczeństwo danych jest dla mnie priorytetem. Aby zabezpieczyć punkty montowania kontenerów i krytyczne dane, stworzyłem skrypt bash, który używa tar do archiwizacji plików dockera, a następnie s3cmd do wysyłania archiwum na Wasabi każdej nocy.
  • Vaultwarden: Używanie kontenera Vaultwarden z klientem/aplikacją Bitwarden pozwala mi śledzić wszystkie moje hasła i tokeny 2FA, jednocześnie zapewniając, że mam nad tym kontrolę i nie działa to na sieciach dużych firm.

Ten różnorodny zakres zastosowań podkreśla elastyczność i moc ZimaBoard 832 jako domowego serwera.

Podsumowanie:

W tej pierwszej części naszej serii o ZimaBoard przyjrzeliśmy się imponującej konfiguracji domowego serwera D. Rowlanda z użyciem ZimaBoard 832. Jego doświadczenie pokazuje, jak ten kompaktowy SBC może być wykorzystany do hostowania wielu usług przy zachowaniu efektywności. Bądźcie z nami na kolejną część, w której odkryjemy więcej kreatywnych zastosowań ZimaBoard!

Dołącz do NASZEJ SPOŁECZNOŚCI, aby dyskutować z naszymi członkami:

Discord:zimaboard.com/discord

Forum: https://icewhale.community

Centrum Kampanii Zima

Więcej do przeczytania

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.