Czym jest self-hosting?

jaszczur.eu 2 lat temu

Minął ponad rok od ostatniego wpisu więc czas na kolejny

Self-hosting to, w skrócie, praktyka uruchamiania i korzystania z usług sieciowych (stron, serwerów aplikacji, baz danych, czy gier) na prywatnym sprzęcie. Pozwala w prosty (relatywnie…) sposób korzystać z open-source’owych alternatyw dla popularnych serwisów internetowych i stać się dostawcą swoich własnych usług.

W tym wpisie będzie trochę o tym dlaczego warto się zainteresować self-hostingiem i jakie interesujące usługi możesz uruchomić w swojej domowej sieci.

TL;DR: Na dole wrzuciłem swoje top 10 aplikacji do self-hostingu, które możesz uruchomić – w prosty sposób, na starym komputerze, intelu NUC czy Raspberry Pi.

Podstawowym powodem dla którego decydujemy się na self-hosting jest uzyskanie pełnej kontroli nad własnymi danymi. Hostując swoje aplikacje, możesz uzyskać wiele korzyści:

  • Eliminujesz lub ograniczasz zbieranie informacji przez dostawców aplikacji i usług, sieci reklamowe, instytucje, czy dostawców internetu. To zjawisko zwykle związane jest z poszukiwaniem ekonomicznego zysku – znając Cię lepiej, łatwiej jest Tobie coś sprzedać. Prawdziwy zakres wykorzystania zbieranych w ten sposób danych jest jednak trudny do oszacowania. jeżeli chcesz poczytać więcej na ten temat poszukaj hasła surveillance capitalism (kapitalizm nadzoru/inwigilacji). Chociażby tutaj, w angielskim wpisie na Wikipedii.
  • Ograniczasz ryzyko wycieku czy utraty danych. Twoje dane są tak bezpieczne jak Twoja sieć domowa. Chyba, oczywiście, iż decydujesz się wystawić hostowane usługi do Internetu.
  • Nie polegasz na zmieniających się modelach biznesowych serwisów internetowych. Te często z czasem oferują nam redukcję funkcjonalności, nowe koncepcje, zmiany modelu licencjonowania, czy podwyżki cen. Dobrym przykładem drastycznej zmiany modelu jest firma Adobe. Będąc liderem w swoim obszarze, firma zdecydowała się zupełnie zrezygnować z modelu licencji wieczystych (perpetual) i, w zasadzie zmusić nowych użytkowników do modelu subskrypcyjnego. Niestety, wśród systemu open-source nie ma jeszcze godnej alternatywy dla większości rozwiązań Adobe.
  • Nie płacisz (poza odrobiną sprzętu i masą czasu ). To może ale nie musi robić różnicę. jeżeli korzystasz np. z systemu Atlassian Jira, wiesz ile można płacić za średniej wielkości instancję prostego. Akurat w tym obszarze znajdziesz sporo rozwiązań open-source.
  • Możesz się po drodze wiele nauczyć i odkryć interesujące technologie i narzędzia.

Korzyści oczywiście jest więcej. o ile szukasz powodów bardziej ideowych, polecam zapoznać się z inicjatywą Redecentralize – a więc ponownej de-centralizacji Internetu. Ponownej, bo w tzw. Golden Era of The Internet, większość usług była zdecentralizowana. Na rynku istniało wiele alternatyw i często stali za nimi pasjonaci nowych technologii. Self-hosting jest próbą powrotu do tych założeń.

Polecam Tobie także sprawdzić wpis (oraz podcast) „Internetowy preppers – jak się przygotować na wypadek braku internetu?”. Autorem jest komityw Internet. Czas działać!, walczący o prywatność i prawa użytkowników. We spisie znajdziesz kilka ciekawych aplikacji p2p, a więc takich, które nie wymagają posiadania własnego serwera.

Z ideą self-hostingu bardzo blisko związane jest też oprogramowanie Open-Source (Open Source Software – OSS) czy, w praktyce, darmowego systemu Open Source (Free Open Source Software – FOSS). Naturalnie chcemy mieć dostęp do kodu źródłowego usług które uruchamiamy w domowej sieci, a adekwatnie – chcemy aby eksperci, którzy znają wykorzystywana narzędzia, mieli do niego dostęp.

Jak się za to zabrać?

Na starcie nie musisz inwestować pieniędzy – jeżeli umiesz w IT to zwykle masz jakiś stary sprzęt czy Raspberry Pi gdzieś w szufladzie. jeżeli nie masz, można to tanio zorganizować, kupując coś używanego. Chociaż apetyt rośnie gwałtownie i już niedługo zaczniesz oglądać najlepsze setupy na r/homelab (jeśli jeszcze tego nie robisz). Po kolei:

  1. Wybierz sprzęt – o tym piszę kawałek dalej.
  2. Zainstaluj system operacyjny i odpowiednie narzędzia. Ja osobiście polecam wirtualizację (Proxmox VE), natomiast możesz zacząć od zwykłego Linuxa. Wygodnie będzie wybrać w miarę standardową dystrybucję, jak np. Ubuntu w wersji 20.x lub nowszej. Dzięki temu, większość aplikacji które będziemy chcieli testować, powinna być kompatybilna i prosta w instalacji.
  3. Testuj i wybieraj aplikacje – tutaj zaczyna się zabawa. Lista możliwości jest bardzo długa, do większości rzeczy z których korzystasz w Internecie znajdziesz godną alternatywę. Poniżej znajdziesz moje top 10 i najlepszą, moim zdaniem, listę systemu do self-hostingu w sieci.

1. Sprzęt

Na czym uruchamiać własne usługi? Na starcie, warto od razu odrzucić VPS u zewnętrznego dostawcy czy chmurę. Większość osób które umieją w self-hosting wybiera stawianie usług na własnym sprzęcie. Tylko wtedy skorzystasz z pełnej prywatności i kontroli nad swoimi danymi. To oczywiście nie wyklucza dostępu do zasobów spoza własnej sieci.

Wystawianie usług „w Internet” to temat na osobne opracowanie i wymaga odrobiny znajomości zagadnień związanych z bezpieczeństwem sieci. Na marginesie, hostując wyłącznie w sieci lokalnej stosowanie dobrych praktyk w tym zakresie też nie zaszkodzi. Wiele osób wystawiając swoje usługi na zewnątrz korzysta z tuneli, chociażby takich jak darmowa usługa oferowana przez Cloudflare. Już w podstawowej wersji uzyskujemy dobrą ochronę przed atakami DDoS, maskowanie IP domowej sieci czy certyfikat SSL. Wiele osób mimo wszystko łączy się ze swoimi zasobami bezpośrednio. Kilka ciekawych punktów znajdziesz w tej dyskusji: Do you use Cloudflare for your self-hosted website?.

Alternatywą może być postawienie usługi typu VPN lub Wireguard właśnie na np. chmurze Amazon Web Services, (o czym pisałem wcześniej w poście Jak postawić darmowy serwer VPN w chmurze Amazon) i kierowanie ruchu do naszego serwera przez taki tunel.

Wracając do własnego sprzętu…

Najlepszy sprzęt do self-hostingu

Raspberry Pi które leży w szufladzie. Zanim zdecydujesz się wybrać tą opcję, sprawdź czy najważniejsze dla Ciebie usługi są dostępne w architekturze ARM. Nie każda usługa zadziała Z tego powodu nie polecam również zakupu RPi do takich zastosowań – są lepsze opcje.

Stary komputer – Najlepsza opcja na początek, oczywiście jeżeli masz pod ręką nieużywany sprzęt. W ten sposób sprawdzisz czy self-hosting jest dla Ciebie. jeżeli tak – w dalszym horyzoncie warto zorganizować coś mniejszego.

Własny serwer – jeżeli to niezła opcja ale wiele urządzeń, zwłaszcza starszych, konsumuje masę prądu, wytwarza dużo ciepła i hałasu. Dlatego jeżeli nie musisz – nie polecam. Nie wybieraj serwerów rackowych. Ceny są bardzo atrakcyjne, podobnie wydajność, no i taki rack z np. Dell R720 wygląda świetnie, ale prawdziwe korzyści zdobędziesz kiedy Twój setup będzie pracował 24x7x365, przez kilka kolejnych lat. Wspomniany Dell R720 w obecnych stawkach może kosztować blisko 100 PLN na miesiąc, licząc średni pobór energii w okolicy ~200W, przy stawkach z marca 2022. Dla komputera typu Intel NUC będzie to ok. 5 PLN. Nie są to duże kwoty, ale:

  1. Wraz z dodatkowymi urządzeniami (router od dostawcy internetu, NAS, switch etc.) zużycie prądu przez nasz homelab może być znacznie wyższe,
  2. ceny energii z pewnością będą rosły ,
  3. wyższe zużycie energii to również więcej miejsca, hałasu i ciepła które wytwarza sprzęt,
  4. self-hosting, aby się powiódł, powinien wymagać minimalnego, względem wymagań, nakładu czasu i pieniędzy.

Komputery PC SFF (Small Form-factor) – jeżeli już chcesz wydać jakieś pieniądze, najlepszą opcją będzie zakup używanego czy poleseangowego komputera PC SFF od jednego z trzech topowych producentów (Dell, Lenovo, HP), zalewających rynek sprzętu biurowego tanimi, zintegrowanymi jednostkami. Micro PC będzie absolutną bestią pod kątem wydajności bo w przeciwieństwie do aplikacji działających w Internecie, te uruchamiane dla siebie muszą obsługiwać tylko tylko 1 (lub kilku) użytkowników. Nie mają więc, poza kilkoma wyjątkami, ogromnych wymagań sprzętowej. Same urządzenia zwykle posiadają zasilacze „laptopowe”. Warte rozważenia są modele:

  • Lenovo ThinkCentre M710q Tiny (lub M715q)
  • HP EliteDesk 800 Mini (G2, G3)
  • HP EliteDesk 705 Mini
  • Dell OptiPlex 7070 Micro
  • Dell OptiPlex 7060 Micro

Powyższe propozycje pochodzą z artykułu Project TinyMiniMicro który bardzo polecam.

Intel NUC – moje preferowane rozwiązanie. Wysoka wydajność, nieco wyższa cena od biurowych SFF (w zależności od konfiguracji, w 2022 za nowego NUC’a, zapłacisz od 1000-4000 PLN). zwykle do zestawu musisz zamówić osobno pamięć RAM czy dysk (w obudowie jest miejsce na m.2 oraz 2.5′ SSD). Istnieją rozmaite alternatywy w bardzo zbliżonym form factor, często znacznie tańsze. Ważne aby obsługiwały architekturę x86, posiadały energooszczędne procesory i mały foot-print.

2. System i narzędzia

Można różnie rozwijać swój warsztat, większość usług daje możliwość uruchamiania w różny sposób, na różnych środowiskach. o ile chcesz często sprawdzać nowe aplikacje, łatwo przenosić dane i ustawienia czy budować zaawansowane, własne rozwiązania (stack aplikacji) warto skorzystać z następujących narzędzi:

Wirtualizacja

Ja korzystam z Proxmox Virtual Environment (Proxmox VE) które jest oprogramowaniem open-source służącym do wirtualizacji. Łączy w sobie hypervisor KVM, kontenery LXC, storage i funkcjonalności sieciowe. Dzięki wirtualizacji możesz tworzyć różne środowiska na jednym fizycznym serwerze. Na moim Proxmoxie mam dedykowane maszyny m.in. dla:

  • Stale działających usług, z których często korzystam. Tutaj mam zwykle system Ubuntu Server, usługi działają jako kontenery Docker’a zarządzane przez Portainer
  • Środowisko testowe dla nowych usług (modus operandi jak powyżej)
  • Kontenery LXC obsługujące wybrane usługi (DNS, reverse proxy)
  • Środowiska z Ubuntu lub innymi systemami operacyjnymi które uruchamiam na określony czas. Są to zwykle maszyny posiadające duży apetyt na zasoby systemowe, które mogłyby zbędnie obciążać serwer działając 24/7. W tej kategorii są również maszyny ze środowiskiem graficznym, z którymi możesz łączyć się dzięki SPICE, noVNC czy xterm.js. Ta kategoria oczywiście wykracza poza temat self-hostingu, ale możliwość tworzenia takich środowisk to duża zaleta wirtualizacji.

W temacie Proxmox VE warto obejrzeć materiały Techno Tim, np. ten – Before I do anything on Proxmox I do this first…. Znajdziesz tam kilka przydatnych informacji o tym co warto zrobić na świeżej instalacji Proxmox. Oczywiście na kanale Techno Tim znajdziesz też np. tutorial instalacji czy konfiguracji Proxmox.
Techno Tim ma też dużo świetnych materiałów w rozmaitych tematach z obszaru homelab, networkingu, systemów operacyjnych, programowania czy ogólnego IT. Ogólnie – polecam.

Dodatkowym atutem Proxmox jest możliwość prostego tworzenia kopii zapasowych kontenerów czy maszyn wirtualnych. jeżeli potrzebujesz bardziej kompletnego rozwiązania do zarządzania back-upami maszyn wirtualnych, kontenerów czy fizycznych serwerów warto sprawdzić Proxmox Backup Serwer. Jest to również oprogramowanie open-source, które dobrze współpracuje z Proxmox VE.

Docker

docker i docker-compose – polecam własny przewodnik i wprowadzenie do tych narzędzi. o ile na swoim VE zainstalowałeś Ubuntu Server 18.x LTS, to przy instalacji możesz zaznaczyć. Alternatywą jest Kubernetes, natomiast jego przewagi widać przede wszystkim w instalacjach produkcyjnych, gdzie korzystamy z wielu węzłów (node) i zależy nam na wysokiej dostępności usług.

Podstawowe usługi

Większość usług które będziemy instalowali ma za zadanie dostarczać nam konkretnych funkcji, z których będziemy aktywnie korzystali, jak np. notatnik czy manager haseł. Część jednak ma specjalne znaczenie dla poprawnego działania naszego środowiska, i w zasadzie poza ich uruchomieniem i nadzorem nie chcemy mieć z nimi codziennej interakcji. Do takich usług należą m.in:

  • Serwer DNS, który może np. blokować reklamy czy zarządzać domenami w sieci lokalnej.
  • Reverse Proxy, za pomocą którego możemy zapewnić szyfrowany dostęp dla naszych usług poprzez https czy tworzyć subdomeny dla usług działających na tej samej maszynie (a więc zamiast http://192.168.1.1:8004 mamy np. https://wiki.lan .
  • Zarządzanie kontenerami, które pozwala nam ograniczyć konieczność łączenia się przez SSH ze swoją maszyną i manualnego uruchamiania poleceń Dockera.
  • Start-page, z którym co prawda mamy codzienną interakcję, ale właśnie dlatego należy, moim zdaniem, do podstawowych usług. Start-page to nasze okno do własnej infrastruktury, gdzie możemy zdefiniować linki do aplikacji czy usług, a często także dodać linki do stron w Internecie czy panele wyświetlające parametry pracy systemu. jeżeli chcesz zobaczyć jak z tym tematem radzą sobie użytkownicy Reddita sprawdź r/startpages.

Dla mnie faworytami w powyższych kategoriach są w tej chwili Pi-hole, nginx (zarządzany przez Nginx Proxy Manager), Portainer i flame, które znalazły się w moim top 10. W ten sposób przechodzimy do najciekawszej części, a więc…

3. Aplikacje

Co możesz hostować?

W zasadzie większość popularnych usług internetowych ma posiada open-source’owe alternatywy które w prosty sposób możemy uruchomić na własnym sprzęcie z jednym małym, istotnym wyjątkiem, o którym za chwilę. Najczęściej wybieranymi usługami są:

  • Alternatywy dla Dropboxa – czyli usługi współdzielenia plików (filesharing)
  • Współtworzenie dokumentów w stylu Google Docs (collaboration software)
  • Obsługa mediów (filmy, seriale, muzyka, etc.). Tutaj dochodzi oczywiście ogromna „szara” strefa usług do pozyskania mediów, czyli w uproszczeniu – wyszukiwania i ściągania ich dzięki protokołów takich jak Torrent czy Usenet
  • Systemy wersjonowania (GIT) czy repozytoria obrazów
  • Notatniki, dzienniki, własne Wiki, zarządzanie wiedzą
  • Kalendarzy, listy kontaktów (chociażby te obsługiwane protokołem CalDav)
  • Listy zadań do zrobienia (TODO’s), automatyzacje i inne narzędzia podnoszące produktywność
  • Strony startpage – portale dla wewnętrznych usług i aplikacji, zapewniające łatwy dostęp do wszystkich zasobów

Na koniec warto opisać szerzej dwa konkretne zastosowania:

  • E-mail, z którego którego (chyba) warto zrezygnować
  • Usługi społecznościowe
Self-hosting email

Istotnym wyjątkiem w self-hostingu jest e-mail . Większość osób jest zgodna – poprawna konfiguracja e-maila jest trudna, wymaga poznania wielu nowych obszarów, a sam protokół jest przestarzały. Jak to ładnie ujął autor wpisu Reliable, Deliverable and Self-Hosted Email – jeżeli nie byłeś sysadminem w latach 90′, praca z open-source’owym oprogramowaniem e-mail będzie skomplikowana.

Dodatkowo, choćby przy najlepszej konfiguracji, ryzykujemy iż nasze serwery e-mail zostaną oznaczone jako spam (IP trafi na black-listy) i skutecznie wykluczone z komunikacji. Nasze maile będą wtedy wpadały z automatu w foldery spamowe u większości naszych odbiorców. Nie mamy na to wpływu, zwłaszcza jeżeli współdzielimy adresy IP naszych serwerów z innymi użytkownikami.

Warto pamiętać iż e-mail jest z natury usługą gdzie nie mamy pełna kontrola nad danymi. Maile albo dostajemy (a więc ich kopia jest na serwerze nadawcy), albo wysyłamy (kopia ląduje na serwerze odbiorcy). Dlatego od strony kontroli nad danymi wiele nie tracimy.

Oczywiście jeżeli dobrze poszukasz, znajdziesz kilka opinii ludzi, którym ta sztuka się udała, i którzy nie mają problemów z wysyłaniem i odbieraniem maili. Jednym z rozwiązań które wydają się być sensowne jest Mail in the box.

Self-hosting usługi e-mail wymaga wystawienia naszej maszyny w Internecie, chociaż to chyba jest sprawa jasna.

Usługi społecznościowe

Self w self-hosting jest dosyć istotne. Natura serwisów społecznościowych sprawia, iż niosą najwięcej korzyści (zarówno dla użytkowników jak i dostawców) gdy docierają do największej liczby osób, stąd zwykle jest to domena internetowych gigantów. o ile chcesz docierać ze swoim przekazem do szerszego grona, zwykle będziesz, mimo wszystko, potrzebował kont w jednej (lub kilku) globalnych sieciach społecznościowych. Ja sam korzystam często z LinkedIn, ale posiadam też konta na Twitterze czy Instragramie.

W przeciwieństwie do e-maila, hostować sieci społecznościowe zdecydowanie warto, oczywistą sprawą jest natomiast ograniczony zasięg. Self-hosting ma sens choćby w małej skali – stworzenie serwisu dla rodziny do rozmowy i czy wymiany zdjęć, lub grupy znajomych skupionych wokół wspólnego hobby. Warto pamiętać iż wszystkie liczące się sieci społecznościowe są darmowe, co, zgodnie z popularną w Internecie cytatem, oznacza jedno:

If you are not paying for it, you’re not the customer; you’re the product being sold.

Użytkownik blue_beattle, Digg, 2010? Więcej na temat tego i wcześniejszych, podobnych cytatów tutaj

Co więcej, jest sporo świetnych, otwartych technologii przeznaczonych do hostowania własnych sieci społecznościowych.

Same rozwiązania często wykorzystują model federacyjny, za pomocą którego indywidualne serwery łączą się w grupy, a ich użytkownicy mogą korzystać ze wspólnych profili i prostej komunikacji między federacjami. Fediverse (z połączenia słów federation i universe, największa federacja sieci społecznościowych) to w tej chwili ponad 10 000 serwerów i 5 000 000 użytkowników.

Najpopularniejsze rozwiązania w fediversie to w tej chwili Mastodon (klon Twittera) czy Diaspora, są tam natomiast również rozwiązania do hostowania video (PeerTube) czy zdjęć (Pixelfed). Na poniższym diagramie znajdziesz wybrane platformy fediverse oraz obsługiwane przez nie protokoły komunikacji.

Imke Senst,Mike Kuketz,RockyIII, CC BY-SA 4.0 https://creativecommons.org/licenses/by-sa/4.0, via Wikimedia Commons

Moje top 10 aplikacji do self-hostowania

Poniżej moich 10 faworytów do self-hostingu, kolejność przypadkowa:

  • Navidrome GPL-3.0 Go/Javascript – to open-source’owy odtwarzacz muzyki dostępny z poziomu przeglądarki internetowej. Alternatywa dla Spotify. Jest kompatybilny ze znanym standardem odtwarzaczy muzyki Subsonic, a więc możesz uzyskać dostęp do swojej muzyki przy użyciu wielu aplikacji mobilnych obsługujących ten standard. Na iOS polecam aplikację substreamer. Bardzo fajny interfejs, moim zdaniem najlepszy z całego ekosystemu Subsonic/Airsonic.
  • Nginx Proxy Manager MIT Nodejs/Docker – uproszcza zarządzanie dostępem do aplikacji i usług, nazwami domen czy HTTPS. W moich home-labie obsługuje certyfikaty Let’sCert przy użyciu DNS Chalenge. Dzięki temu wszystkie usługi dostępne są pod adresami https://usluga.domenahomelabu.pl, np.
    • https://music.homelab.pl
    • https://uptime.homelab.pl
  • Bitwarden AGPL-3.0 C# – manager haseł, podstawowa aplikacja. Posiada fajną wtyczkę do przeglądarki. Dostęp do serwera aplikacji jest możliwy tylko poprzez HTTPS (patrz punkt wyżej, była to podstawowy powód dla którego zainstalowałem Nginx Proxy Manager).
  • Portainer zlib Go/JavaScript– rozbudowane narzędzie do zarządzania Twoim ekosystemem dockerowym. Pozwala na tworzenie „stacków” – jeden stack to jeden docker-compose, jedno środowisko. To w zasadzie tutaj instaluje i sprawdzam 90% nowych aplikacji czy usług. Dla mnie podstawowa aplikacja na każdej nowej maszynie wirtualnej gdzie ma działać więcej niż 1 aplikacja.
  • Uptime Kuma MIT JavaScript – świetne narzędzie do monitoringu dostępności hostów czy usług. Dzięki niemu możemy 900 razy na godzinę sprawdzać czy nasz homelab może połączyć się z Internetem, ale również jaki jest status wewnętrznych usług. Bardzo przydatne w rozwiązywaniu problemów z łącznością, posiada fajny dashboard który możesz wyświetlić na dodatkowym ekranie, bez logowania.
  • Flame MIT TypeScript – przykład start page – kategorii apilkacji ułatwiających dostęp do wewnętrznych zasobów. zwykle są to po prostu ładnie zorganizowane listy linków. Docelowo chciałbym zastąpić własną stroną/apką. jeżeli chcesz zobaczyć interesujące inspiracje polecam r/startpages.
  • Nextcloud AGPL-3.0 PHP – potężna aplikacja na licencji MIT która posiada m.in. funkcjonalności zbliżone do Drop-boxa (folder Nextcloudowy natywnie obsługiwany i synchronizowany na Windows, Linux czy iOS). Posiada również zarządzanie kontaktami, możliwość współtworzenia dokumentów a’la Google Docs czy masę innych widgetów i pluginów. Ja wykorzystuję przede wszystkim do file-sharingu. Honorable mention w tej kategorii to Seafile.
  • Gitea MIT Go – przez długi czas używałem na swoim home-labie GitLab’a (MIT Ruby, duży footprint). Ponieważ nie korzystałem z opcji CI/CD, zdecydowałem się poszukać „lżejszego” rozwiązania. Gitea pod tym względem jest idealna. Posiada bardzo prosty interface, ułatwia proste zarządzanie i tworzenie repozytoriów, podpowiada komendy do wklejenia na hoście aby dodać remote, etc..
  • Pi-hole EUPL Shell/Python – rozwiązanie rodowodem z Rasperry Pi, również dostępne jako docker image na dorosłe systemy jak np. Ubuntu. Pi-hole to w zasadzie Ad blocker (bloker reklam) na poziomie sieciowym – serwera DNS. Aby z niego skorzystać musisz uruchomić usługę oraz wprowadzić zmiany w konfiguracji routera domowego (wskazując adres usługi jako serwer DNS), lub, jeżeli to niemożliwe, w konfiguracji indywidualnych urządzeń pracujących w sieci.Jest to idealny sposób na wyeliminowanie większości reklam na wszystkich urządzeniach korzystających z Twojej sieci – nie tylko w przeglądarkach web, ale także w aplikacjach mobilnych czy na urządzeniach typu Smart TV. Pamiętaj o pobraniu aktualnych list niebezpiecznych hostów!
  • Librespeed LGPL-3.0 PHP – drobna aplikacja, usprawniająca testowanie problemów z siecią. Taki własny speedtest.net.
  • Joplin MIT Nodejs – synchronizacja notatników. Trafia na top 10 ale wciąż szukam alternatyw… Posiada fajną aplikację na iOS.
  • xBrowserSync – synchronizacja zakładek (bookmarków) pomiędzy przeglądarkami. Działa bezobsługowo, są wtyczki do popularnych przeglądarek desktopowych i mobilnych. Wymaga trochę konfiguracji, zarządzanie i wyszukiwanie z poziomu samej wtyczki nie jest intuicyjne, ale zakładki są zawsze zsynchronizowane.

Honorable mentions:

Powyżej wymieniłem tylko aplikacje które rozwiązują potrzebę end-to-end . Jest cała masa ciekawych rzeczy, z którymi można eksperymentować i budować własne, złożone aplikacje czy automatyzacje. Chciałbym o tym kiedyś więcej napisać, dzisiaj wymieniam kilka najciekawszych opcji: Grafana, InfluxDB (o którym pisałem we wprowadzeniu do InfluxDB), Redis, Node Red, Broker MQTT, …?

Co czytać i gdzie szukać?

Osobiście korzystam w zasadzie z 2 źródeł informacji o nowościach, koncepcjach czy usługach do self-hostingu. Polecam oba jako podstawową lekturę:

  • r/selfhosted – częste posty z nowymi wydaniami aplikacji lub interesujące recenzje. Bardzo dużo meta-informacji, rozmów o sprzęcie. Polecam
  • awesome-selfhosted na Github – najobszerniejsza, aktualna lista interesujących aplikacji i usług gotowych do uruchomienia na Twoim sprzęcie. Większość posiada status FOSS, wszystkie są darmowe. Każdy link zawiera info o licencji oraz języku w którym zostało stworzone, jeżeli zakładasz iż będziesz fork-ował Tam, gdzie to dostępne, znajdziesz bezpośrednie linki do demo aplikacji. Polecam

Honorable mentions w kategorii materiałów dla zainteresowanych self-hostingiem:

  • r/homelab – wspomniany już wcześniej, tutaj znajdziesz bardzo fajne setupy home-labów. A więc jeżeli zastanawiasz się jak zbudować własną sieć, uwzględniając w tym zasoby do self-hostingu, ale także ogarniając bezpieczeństwo sieci, backupy czy dostęp Wi-Fi …
  • awesome-sysadmin na Github – nie jest to najpiękniejsza strona hobby ale warto zadbać o bezpieczeństwo dostępu do Twoich zasobów. Na awesome-sysadmin znajdziesz najciekawsze narzędzia do prostej administracji własnymi zasobami, w tym backupy, DNS, LDAP, zarządzanie logami, monitoring czy bazy danych.

fin

To tyle na dzisiaj, dzięki za lekturę. Mam nadzieję iż było chociaż trochę interesujące. Minął ponad rok od ostatniego wpisu na blogu. Chciałbym napisać iż mam nadzieję iż niedługo uda mi się napisać coś więcej w tym temacie , ale realistycznie – do usłyszenia w 2024

PS

Na zdjęciu tytułowym nie ma mgły to smog w Qingdao (Chiny) w okolicy listopada 2015 roku. Jest 9:00 rano, widoczność momentami nie przekracza kilku metrów. Oddycha się ciężko, Air Quality Index pokazuje ponad 400 punktów w okolicy, ale wiadomo, iż w rzeczywistości jest gorzej. Poniżej bonus Qingdao Downtown z portu olimpijskiego, kilka dni wcześniej.

Idź do oryginalnego materiału