Czym jest self-hosting?

self-hosting wprowadzenie

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 ciekawe 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 zazwyczaj 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┼Ťli 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, ┼╝e 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 oprogramowania 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┼Ťli korzystasz np. z oprogramowania 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─ç ciekawe technologie i narz─Ödzia.

Korzy┼Ťci oczywi┼Ťcie jest wi─Öcej. Je┼╝eli 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┼ä.

Z ide─ů self-hostingu bardzo blisko zwi─ůzane jest te┼╝ oprogramowanie Open-Source (Open Source Software – OSS) czy, w praktyce, darmowego oprogramowania 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 w┼éa┼Ťciwie – 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┼Ťli umiesz w IT to zazwyczaj masz jaki┼Ť stary sprz─Öt czy Raspberry Pi gdzie┼Ť w szufladzie. Je┼Ťli nie masz, mo┼╝na to tanio zorganizowa─ç, kupuj─ůc co┼Ť u┼╝ywanego. Chocia┼╝ apetyt ro┼Ťnie szybko 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─Ö oprogramowania 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 kluczowe 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┼Ťli masz pod r─Ök─ů nieu┼╝ywany sprz─Öt. W ten spos├│b sprawdzisz czy self-hosting jest dla Ciebie. Je┼Ťli tak – w dalszym horyzoncie warto zorganizowa─ç co┼Ť mniejszego.

W┼éasny serwer – je┼Ťli 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┼Ťli 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┼Ťli 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 zazwyczaj 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). Zazwyczaj 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. Je┼╝eli 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 zazwyczaj 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 zazwyczaj 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─Ö za pomoc─ů 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┼Ťli 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. Je┼╝eli 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, dzi─Öki kt├│remu 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 r─Öcznego 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┼Ťli chcesz zobaczy─ç jak z tym tematem radz─ů sobie u┼╝ytkownicy Reddita sprawd┼║ r/startpages.

Dla mnie faworytami w powy┼╝szych kategoriach s─ů obecnie 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 skr├│cie – wyszukiwania i ┼Ťci─ůgania ich za pomoc─ů 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┼Ťli nie by┼ée┼Ť sysadminem w latach 90′, praca z open-source’owym oprogramowaniem e-mail b─Ödzie skomplikowana.

Dodatkowo, nawet przy najlepszej konfiguracji, ryzykujemy ┼╝e 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┼Ťli wsp├│┼édzielimy adresy IP naszych serwer├│w z innymi u┼╝ytkownikami.

Warto pami─Öta─ç ┼╝e 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┼Ťli 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, ┼╝e 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 zazwyczaj jest to domena internetowych gigant├│w. Je┼╝eli chcesz dociera─ç ze swoim przekazem do szerszego grona, zazwyczaj 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 nawet 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─ç ┼╝e 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, dzi─Öki kt├│remu 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 obecnie ponad 10ÔÇë000 serwer├│w i 5ÔÇë000ÔÇë000 u┼╝ytkownik├│w.

Najpopularniejsze rozwi─ůzania w fediversie to obecnie 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. Zazwyczaj s─ů to po prostu ┼éadnie zorganizowane listy link├│w. Docelowo chcia┼ébym zast─ůpi─ç w┼éasn─ů stron─ů/apk─ů. Je┼Ťli chcesz zobaczy─ç ciekawe 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┼Ťli 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┼Ťli zak┼éadasz ┼╝e 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┼Ťli 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─Ö ┼╝e by┼éo chocia┼╝ troch─Ö interesuj─ůce. Min─ů┼é ponad rok od ostatniego wpisu na blogu. Chcia┼ébym napisa─ç ┼╝e mam nadziej─Ö ┼╝e 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, ┼╝e w rzeczywisto┼Ťci jest gorzej. Poni┼╝ej bonus ­čśë Qingdao Downtown z portu olimpijskiego, kilka dni wcze┼Ťniej.

Qingdao Downtown 2015

Autor: kuba

Pracuj─Ö w IT, sprzedaj─ůc oprogramowanie klasy APS/MES firmom produkcyjnym. Nie jestem software developerem ale odk─ůd zacz─ů┼éem w Turbo Pascalu zawsze co┼Ť pisz─Ö - ostatnio w Pythonie. Lubi─Ö technologie, mocn─ů kaw─Ö i dobre zdj─Öcia ­čĄÖ

8 odpowiedzi na “Czym jest self-hosting?”

Piszesz lekko i trafiasz w tematyk─Ö, kt├│ra jest bardzo ciekawa. Tylko dlaczego by nie raz na miesi─ůc wpisik? No dobra na poczatek raz na p├│┼é roku ;P

dzi─Öki za mi┼éy komentarz ­čÖé trafia tu niewiele os├│b wi─Öc ci─Ö┼╝ko czasami znale┼║─ç motywacj─Ö, ale ostatnio staram si─Ö pisa─ç wi─Öcej i mam nadziej─Ö ┼╝e kolejny artyku┼é pojawi si─Ö ju┼╝ nied┼éugo ­čÖé

Genialny art , mo┼╝e ma┼éo detali ale potwierdza to co robi─Ö i my┼Ťl─Ö – niestety mieszkam w „zadupiu” i ogranicza mnie bardzo internet , pr─ůdem si─Ö nie martwi─Ö ju┼╝ dawno do 1,5 kw mam na to rozwi─ůzanie .

Je┼Ťli mia┼é bym lepsze ┼é─ůcza plus backup ju┼╝ dawno bym vps, hostingi, detyki od┼é─ůczy┼é – tym bardziej i┼╝ te ich 99% bez awarii to fikcja

To mo┼╝e za rok napiszesz artyku┼é o tym jak wykonujesz kopie zapasowe swojej maszyny do self-hostingu? Jestem ciekaw jaki masz na to spos├│b? ­čÖé

Dzi─Ökuj─Ö za komentarz ­čÖé generalnie staram si─Ö robi─ç regularnie backup przez Proxmox na zewn─Ötrzny dysk ale nie ─çwiczy┼éem nigdy restore wi─Öc mog─Ö si─Ö rozczarowa─ç kiedy┼Ť ­čśë natomiast dla najwa┼╝niejszych kontener├│w odpalam co jaki┼Ť czas tar’a na wolumenach z konfiguracjami. Wi─Öc generalnie nie jest to 100% profesjonalnie ­čĄ×

Jako fajn─ů alternatyw─Ö dla Joplin, polecam Obsidian ­čÖé

Dzi─Öki za artyku┼é ­čśŐ

Dzi─Öki za komentarz ­čÖé obsidian wygl─ůda spoko, korzysta┼éem przez jaki┼Ť czaz z Trilium natomiast nie wiem czy Joplin nie zamieni─Ö na co┼Ť prostszego w stylu pastebin, mniej szukania po notatnikach wpisach etc ­čśë

Dodaj komentarz

Tw├│j adres e-mail nie zostanie opublikowany.