Umbrel – domowy, prosty serwer – nie trać na niego czasu

Umbrel
Umbrel

Pod względem technicznym domowy serwer to dosyć trudne do przygotowania narzędzie. Jednak znajdziemy mnóstwo platform, które upraszczają niemalże cały proces do takiego poziomu, dzięki któremu już minimalna wiedza techniczna wystarczy, aby zrobić coś ciekawego, sporego i przydatnego. Jednym z takich narzędzi jest Umbrel. Dashboard systemu wygląda pięknie, ale czy warto się zainteresować?

Self-hosting to pełna dowolność

Self-hosting, czyli po prostu serwowanie różnych usług sieciowych na własnym sprzęcie (ewentualnie na VPS), to czynność złożona i najczęściej oparta o oprogramowanie otwarte i wolne (od słowa “wolność”). Z tego też powodu użytkownicy różnie układają te “klocki” i uzyskują często podobny efekt, ale różnymi drogami.

Czynności powtarzalne, działające pod pewien schemat możemy znacznie ułatwić. Mnóstwo dzisiejszych rozwiązań technicznych sprawia, że możemy szybko i przyjemnie wykonać pewne czynności bez wiedzy technicznej, a jeszcze jakiś czas temu wymagany był do tego profesjonalista. No i temat ten nie ominął self-hostingu. Choć tutaj jednak wiedza jakaś jest potrzebna, to domowy serwer wcale nie musi wymagać licencji z administracji systemem Linux.

Umbrel – jaki problem MA rozwiązać?

Self-hosting to świetna droga do uzyskania większej niezależności w internecie. Samemu serwując sobie różne usługi nie musimy decydować się na to, co oferują nam inni dostawcy, na przykład Google czy Microsoft. Często aplikacje do hostowania oferują wiele funkcji i działają bardzo szybko.

Dlatego też powstały systemy, które ułatwiają proces postawienia własnego serwera. Jednym z nich jest Umbrel. Platformę możemy zainstalować za pomocą skryptu bashowego lub pobierając obraz systemu na Raspberry Pi 4. Jednocześnie Raspberry Pi 4 to jedna z zalecanych form instalacji Umbrel.

Tak Umbrel tłumaczy zalety self-hostingu
Tak Umbrel tłumaczy zalety self-hostingu (fot. Umbrel)

Umbrel ma ułatwić instalację domowego serwera do granic możliwości. Instalacja aplikacji ma być tak prosta jak na smartfonie czy tablecie. I faktycznie tak jest. Tym samym z Umbrel może skorzystać niemalże każdy.

Co oferuje Umbrel?

Umbrel można zainstalować na Raspberry Pi 4 lub na komputerze z Linuksem. Możemy wybrać Ubuntu lub Debiana. Ja przetestowałem Umbrel i na Ubuntu 22.04 LTS, i na Debianie 11. W obydwóch przypadkach Umbrel działał tak samo dobrze. Co prawda, Umbrel jest do hostowania lokalnego, natomiast ja zdecydowałem się na test na VPS.

Ekran główny
Ekran główny

Instalacja ogranicza się do wpisania jednej komendy w terminalu. Następnie wchodzimy na umbrel.local, podajemy nazwę użytkownika oraz hasło i koniec. Mamy swój serwer! Interfejs przypomina ekran domowy z iPadów. Na dole mamy dock ze skrótami do ustawień, sklepu z aplikacjami oraz do wylogowania się. Na samym środku natomiast mamy tabelę z zainstalowanymi aplikacjami.

Tapetę na ekranie głównym można zmienić
Tapetę na ekranie głównym można zmienić

I w sumie tutaj możemy skończyć opisywać to, co oferuje Umbrel. Teraz zaczynają się problemy.

Umbrel – dlaczego nie warto?

No właśnie. Umbrel ciężko nazwać pełnym systemem do self-hostingu. Ustawienia serwera ograniczają się do włączenia 2FA oraz dostępu za pomocą sieci Tor (co i tak nie będzie aż tak przydatne). A serwer właśnie ma dać wolność konfiguracji i dostosowania do swoich własnych potrzeb. Mało tego, nie mamy tutaj obsługi użytkowników, więc prywatny serwer jest tutaj wręcz w dosłownym znaczeniu, bowiem nie podzielimy się z nim nawet z innymi domownikami.

Ustawienia Umbrel
Ustawienia Umbrel

Niestety, Umbrel ani trochę nie ułatwia wystawienia swoich usług do internetu. Te domyślnie działają tylko lokalnie. Ja miałem do nich dostęp zdalny, ale była to tylko konsekwencja instalacji na VPS. Domyślnie Umbrel zaleca hostowanie na własnym sprzęcie. Jako że nie ma tutaj dostosowania do dostępu zdalnego, możemy zapomnieć o pomocy przy reverse proxy czy dostosowaniu domeny oraz SSL.

Umbrel oferuje Nextcloud. Na szczęście Nextcloud ma własne, wbudowane rozwiązanie do obsługi wielu użytkowników, co połowicznie rozwiązuje pewien problem w Umbrel
Umbrel oferuje Nextcloud. Na szczęście Nextcloud ma własne, wbudowane rozwiązanie do obsługi wielu użytkowników, co połowicznie rozwiązuje pewien problem w Umbrel

Dlatego też mając takiego Nextclouda na Umbrel nie skorzystamy z chmury poza domem. To bez sensu, bo Nextcloud opiera się na dzieleniu się danymi i współpracy z innymi użytkownikami. Ta świetna platforma do pracy w chmurze traci mnóstwo sensu, kiedy to jest dostępna tylko lokalnie. Podobnie jak Photoprism czy Vaultwarden (czyli BitWarden).

No to powiecie przecież, że można skorzystać z półśrodka w postaci VPN. No i macie rację, sam takowy mam. No niestety, nie jest tak przyjemnie w przypadku Umbrel, bowiem jedynym VPN-em dostępnym w sklepie jest Tailscale, który wymaga… logowania w zewnętrznym serwisie (na przykład kontem Google, co jest zabawniejsze). A przecież twórcy chwalą się, że self-hosting to świetny sposób na ucieczkę od korporacji… WireGuard powinien być tutaj normalnie dostępny w sklepie.

Postawienie własnego VPN wymaga logowania do usługi trzeciej
Postawienie własnego VPN wymaga logowania do usługi trzeciej

No właśnie, pozostaje kwestia aplikacji. Tych jest mało, a niemalże połowa odnosi się do świata kryptowalut. Fakt, kryptowaluty właśnie miały być zdecentralizowane, a taki self-hosting w tym pomaga, ale nastawienie Umbrel tak mocno na kryptowaluty jest wręcz zadziwiające. A brakuje takich użytecznych perełek jak HedgeDoc czy Wallabag. Warto jednak wymienić, że dodano te najpopularniejsze aplikacje, w tym wspomniany VaultWarden, Nextcloud, Photoprism, Pi-Hole czy Home Assistant.

No i na koniec zostawiłem problem z licencją. Umbrel nie zdecydowało się na powszechną licencję, a ma własną. Jest to oprogramowanie otwarte, ale nie jest wolne. Tym samym nie dostajemy wolnej ręki w każdym aspekcie. Kompletnie inaczej jest w przypadku YunoHost, które sprawdzi się także w środowisku firmowym.

Sklep z aplikacjami
Sklep z aplikacjami

Umbrel nie rozwiązuje problemu

Umbrel to tak naprawdę uproszczony proces instalacji Dockera oraz kilku kontenerów. W rzeczywistości aplikacje nie są specjalnie pakowane pod platformę (tak jak jest w YunoHost), tylko mamy gotowe pliki docker-compose do poszczególnych aplikacji. To oznacza, że baza programów powinna być przeogromna, a tych jest dosyć mała.

Umbrel - domowy, prosty serwer - nie trać na niego czasu
Kontenery Umbrel są widoczne jako uruchomione

Do Dockera możemy sobie dobudować funkcjonalność potrzebną do wystawienia do internetu. Taki Traefik pozwoli ogarnąć temat związany z reverse proxy, domeną oraz SSL. Innym narzędziem załatwimy problemy powiązane z Dynamic DNS. To prawda.

Umbrel - domowy, prosty serwer - nie trać na niego czasu
Jak widzimy, w katalogu Nextclouda jest docker-compose odpowiedzialny za postawienie usługi

Tylko, że w Umbrel właśnie nie o to chodzi. Umbrel ma sprawić, że wszystko sobie pięknie wyklikujemy jak na iPhone’ie i nie tykamy konsoli. Natomiast konfiguracja domeny wymaga pewnej wiedzy i to, moim zdaniem, większej niż instalacja usługi za pomocą Docker Compose.

Jeśli ktoś umie skorzystać z Docker Compose czy z Traefika, to raczej i tak nie będzie decydował się na Umbrel.

Co zamiast Umbrel?

Nie mamy co tutaj daleko szukać. YunoHost to pełny system, który pozwoli szybko i przyjemnie postawić pełnoprawny serwer z usługami. YunoHost pomoże otworzyć porty, ustawić domenę (w tym YunoHost oferuje własne domeny) oraz ma obsługę wielu użytkowników. Do tego dodajmy SSO, LDAP, ogarnięcie Dynamic DNS oraz Fail2Ban – YunoHost robi wszystko, co potrzebne. A do tego jest otwarte na własne modyfikacje i rozwiązania, z czego sam korzystam. YunoHost ma nawet API, z którego korzysta na przykład ServerCommander.

Czy Umbrel to zły pomysł?

Oczywiście, że nie! Potrzebne jest na rynku rozwiązanie, które pomoże “ujarzmić” Dockera – a przynajmniej w kontekście domowego hostingu usług. Niestety, Umbrel ma daleką drogę do tego celu i nie jest tym, co obiecuje na swojej stronie.

Chcesz być na bieżąco? Śledź ROOTBLOG w Google News!