Najlepszy serwer domowy: samodzielna budowa z ZimaBoard 832

Eva Wong jest redaktorką techniczną i rezydentką majsterkowania w ZimaSpace. Jest geekiem od zawsze, z pasją do domowych laboratoriów i oprogramowania open source, a jej specjalnością jest przekładanie złożonych zagadnień technicznych na przystępne, praktyczne poradniki. Eva wierzy, że samodzielne hostowanie powinno sprawiać radość, a nie onieśmielać. Dzięki swoim samouczkom pomaga społeczności oswoić konfigurację sprzętu, od budowy pierwszego serwera NAS po opanowanie kontenerów Docker.

W tej serii wpisów na blogu mamy przyjemność opowiedzieć niezwykłą historię D. Rowlanda, wiernego członka naszej społeczności, który dołączył do nas jeszcze na etapie finansowania społecznościowego ZimaBoard, dwa lata temu. Kupił trzy płytki, z których każda miała inne zastosowanie. W tej serii wpisów omówimy jego doświadczenia z tymi płytkami i pokażemy, jak stały się nieocenionymi narzędziami w jego technicznym arsenale.

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

Poznaj D. Rowlanda

Zacznijmy od lepszego poznania D. Rowlanda. To typowy entuzjasta technologii: mąż, ojciec dwójki dzieci i doświadczony specjalista IT z bogatym doświadczeniem w sieciach i informatyce. Jego przygoda z technologią rozpoczęła się w szkole średniej i ostatecznie doprowadziła go do kariery w branży IT, gdzie pracował z serwerami, sieciami i różnymi technologiami. Jego spostrzeżenia i doświadczenia są nieocenione, gdy przyglądamy się temu, jak ZimaBoard wpisał się w jego życie.

Scenariusz serwera domowego: ZimaBoard 832

Jednym z głównych powodów, dla których D. Rowland kupił model 832, była chęć samodzielnego hostowania używanych na co dzień usług. Przed zakupem ZimaBoard D. Rowland korzystał z własnoręcznie zbudowanego serwera w obudowie 3U, złożonego ze starych części komputerowych, które miał pod ręką lub pozyskał z recyklingu elektroniki. Na zdjęciu jego domowej szafy rackowej poniżej widać stary serwer stojący na dole, wyłączony.

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

Sprzęt:

  • ZimaBoard 832
  • Dysk SSD o pojemności 480 GB na katalog /home

Oprogramowanie:

  • Debian 11.5
  • Docker i Docker Compose

Jak skonfigurować ZimaBoard 832 jako serwer domowy

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

  • Instalacja systemu operacyjnego: Ponieważ urządzenia ZimaBoard to systemy x86, D. Rowland mógł skorzystać ze standardowej procedury instalacji Debiana. Usunął partycję CasaOS i zainstalował czysty Debian Bullseye na pamięci eMMC urządzenia ZimaBoard 832. Wykorzystał pamięć eMMC na partycję główną.
  • Dodatkowa pamięć masowa: Do przechowywania danych użył dysku SSD o pojemności 480 GB na katalog /home. Oddzielenie systemu operacyjnego od danych zapewnia wydajne działanie.
  • Instalacja Dockera: Po uruchomieniu systemu D. Rowland zainstalował Dockera i Docker Compose. W momencie konfiguracji Docker i Docker Compose były osobnymi komponentami; obecnie Debian Bookworm ma Compose wbudowane w Dockera.
  • Migracja danych: Skopiował punkty montowania Dockera i plik docker-compose.yml z poprzedniego serwera na ZimaBoard 832. Dzięki temu dane i konfiguracje zostały bezproblemowo przeniesione na nowy sprzęt. Zaktualizował niektóre ścieżki plików w docker-compose.yml oraz skrypt bash „Backup-to-S3”, aby odpowiadały nowemu układowi systemu.
  • Konfiguracja Dockera: Po zaktualizowaniu ścieżek plików w pliku docker-compose.yml D. Rowland mógł uruchomić polecenie „docker-compose up -d”, a wszystkie jego usługi znów działały.

Aplikacje i zastosowania

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

  • 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 przedstawiamy relację D. Rowlanda.

D.Rowland chciałby zaznaczyć, że podczas korzystania ze wszystkich wymienionych kontenerów Docker, zgodnie ze zrzutem ekranu z neofetch, jego 832 zużywa tylko 1,3 GB pamięci podczas codziennego użytkowania.

Projekty w PythonieD.Rowland: Sercem domowego serwera ZimaBoard 832 są różne projekty w Pythonie, które opracowałem i nad którymi obecnie pracuję. Obejmują one zarówno praktyczne narzędzia, jak i eksperymentalne przedsięwzięcia. Obecnie uruchamiam:

  • Autoblog : Autolog to internetowy dziennik serwisowy samochodów, który służy do śledzenia i zarządzania historią konserwacji naszych rodzinnych pojazdów. Ułatwia ich serwisowanie i pomaga nam pilnować zaplanowanych przeglądów.
  • ipcalc : Zainspirowany perlowskim IPCALC autorstwa kjokjo, chciałem stworzyć własną implementację kalkulatora podsieci IP w Pythonie. To przydatne narzędzie do zadań i obliczeń związanych z sieciami.
  • fastapi : FastAPI to nowoczesny framework webowy dla Pythona, który poznaję. Pozwolił mi zbudować przykładowe REST API, które z kolei pomogło mi opracować projekt integracji z dostawcą na potrzeby pracy.

Niestandardowe kompilacje kontenerów

D. Rowland: Niektóre kontenery Docker sprawdzają się w większości zastosowań, ale czasami wymagają drobnych modyfikacji.

  • PHP-FPM: Zmodyfikowałem standardowy kontener PHP-FPM, dodając dodatkowe pakiety, których nie ma w zwykłym wdrożeniu. Korzystałem z niego w kilku projektach, więc lista pakietów stale rośnie. Są to między innymi: imagick, mongodb, mysqli, sodium.

Bazy danych i pamięć masowa

D. Rowland:

  • MongoDB (v4.4): Ze względu na ograniczenia procesora ZimaBoard 832, który nie obsługuje AVX, do swoich projektów wybrałem MongoDB w wersji 4.4. Na szczęście ta wersja dobrze sprawdza się w moich konkretnych zastosowaniach i projektach.
  • WebDAV: Ten kontener WebDAV odgrywa kluczową rolę w mojej pracy. Używam go do synchronizowania notatek Obsidian na wielu urządzeniach. Zapewnia mi płynny dostęp do notatek, niezależnie od tego, czy korzystam z telefonu, prywatnego komputera, komputera służbowego, tabletu czy laptopa.

Serwer proxy i dostęp zdalny

D. Rowland:

  • Caddy Server: Aby ułatwić zdalny dostęp do usług, gdy jestem poza domem, korzystam z Caddy Server jako odwrotnego serwera proxy. Łatwość konfiguracji i niezawodność sprawiają, że to idealny wybór. Nie wybrałem kontenera deweloperskiego Caddy Server, ponieważ zależało mi na zintegrowanej wtyczce DNS Cloudflare.
  • Cloudflare DynDNS: Korzystam z kontenera Cloudflare DynDNS, aby bezproblemowo zarządzać domowym rekordem DNS A i zapewnić dostępność usług także wtedy, gdy jestem poza domem.

Pozostałe kontenery

D. Rowland:

  • Mealie: Używam Mealie jako elektronicznej książki kucharskiej. Gdy trafię na coś, co brzmi apetycznie, szybko i łatwo dodaję przepis. Możliwość dodawania zdjęć i dodatkowych pól na notatki sprawia, że jest lepsza od książki kucharskiej z odręcznie zapisanymi przepisami.
  • Gitea: Moje prywatne repozytorium Git. Korzystam z niego podczas pracy nad własnymi projektami w Pythonie i PowerShellu, a także jako kopii lustrzanej projektów służbowych.
  • Flame: To świetny pulpit nawigacyjny, którego używam jako strony startowej przeglądarki. Jest połączony z gniazdem Dockera, więc gdy dodaję nowe kontenery, mogę je połączyć z pulpitem przy minimalnej konfiguracji.
  • Minecraft Bedrock: Uruchamiam serwer Bedrock zamiast wersji Java wyłącznie ze względu na ograniczenia pamięci. Nie używam modów, więc wersja Bedrock to bardzo prosty i lekki serwer.

Bezpieczeństwo danych i kopie zapasowe

D. Rowland:

  • Skrypt kopii zapasowej: Bezpieczeństwo danych jest dla mnie priorytetem. Aby chronić punkty montowania kontenerów i krytyczne dane, napisałem skrypt bash, który używa tar do archiwizowania plików Dockera, a następnie s3cmd do wysyłania archiwum do Wasabi każdej nocy.
  • Vaultwarden: Korzystam z kontenera Vaultwarden oraz klienta/aplikacji Bitwarden, aby zarządzać wszystkimi hasłami i tokenami 2FA, mając pewność, że pozostają pod moją kontrolą i nie działają w sieciach docelowych większych firm.

Ten szeroki wachlarz zastosowań pokazuje elastyczność i moc ZimaBoard 832 jako domowego serwera.

Podsumowanie:

W pierwszej części naszej serii o ZimaBoard poznaliśmy imponującą konfigurację domowego serwera D. Rowlanda z wykorzystaniem ZimaBoard 832. Jego doświadczenia pokazują, jak ten kompaktowy SBC może obsługiwać wiele usług, a jednocześnie działać wydajnie. Śledź kolejne części serii, w których odkryjemy więcej kreatywnych zastosowań ZimaBoard!

Dołącz do NASZEJ SPOŁECZNOŚCI i rozmawiaj z jej 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.