Co je self-hosting?
Rychlý průvodce self-hostingem.
Self-hosting je praktika hostování služeb na vlastním serveru. Jinými slovy, místo toho, abyste využívali dostupné online služby (Spotify, Netflix,...), tak provozujete alternativy na vlastím serveru. Tento server může být fyzicky u vás doma nebo někde v cloudu.
Úvod
V případě, že máte nějaké znalosti IT nebo se cítíte být alespoň pokročilý uživatel PC je možné začít prakticky ihned.
Jako první je třeba se rozhodnout jestli bude váš server dostupný pouze ve vaší vnitřní síti nebo ho chcete vystavit internetu. V případě internetu se to začíná lehce komplikovat, protože si musíte vyřešit přesměrování z internetu do vašeho serveru. I když se může zdát, že dostupnost z internetu je jasná volba, věřte tomu, že to tak není a dostupnost z vlastní sítě, vám bude pravděpodobně stačit.
Smyslem self-hostingu je hlavně osvobotit se od online služeb a omezit závislost na dostupnosti internetu. Také větší kontrola nad vlastními daty a omezení poskytování vašich soukromých údajů, například pro reklamní účely.
Dalším krokem je volba serveru. Hlavní možnosti jsou:
- Stavba vlastního serveru
- Pronájem online virtuálního serveru
Možností je samozřejmě víc, ale ty bych nezvažoval pokud jste začátečník. Také je možnost zakoupit si připravený NAS (např. Synology), ten má pro vás sice všechno připravené, ale nemáte všechno úplně pod kontrolou. Navíc jsou poměrně drazší než vlastní řešení a zároveň musíte výrobci věřit, že respektuje vaše soukromí.
Dále musíte zvolit operační systém serveru. Zde záleží hlavně na vašich dovednostech. Kromě Windows serveru se nabízí nespočet Linuxových řešení. Windows samozřejmě nabízí grafický interface na který jsme všichni zvyklí, zároveň ale vyžaduje placenou licenci a je mnohem náročnější na výkon. Linuxová řešení bývají pro servery vhodnější, ale jsou těžší pro začátečníky.
Dostupnost z internetu
V případě, že chcete přistupovat na váš server, který běží ve vaší soukromé síti, z internetu je třeba projít následující kroky:
- Pronájem veřejné IP adresy
- Nastavení vašeho routeru pro přesměrování portů do vaší sítě
- Nastavení firewallu na vašem serveru
Nebudu se o tom dál rozepisovat, protože se jedná o kroky pro pokročilejší uživatele a nejdříve bych doporučil mít funkční server alespoň ve vlastní síti. Navíc přesměrování do vnitřní sítě může vyžadovat spolupráci s vaším poskytovatelem internetu, a tak by bylo lepší prodiskutovat to s ním.
Stavba vlastního serveru
Postavit vlastní server je jednoduché. Server je pouze kouzelné slovo pro počítač, a tak pokud máte zkušenosti se stavbou PC bude to pro vás jednoduché. Na rozdíl od herních PC je takový server nenáročný a je možno ho sestavit z levných součástek.
Překvapivě není třeba velký výkon, hlavně pro linuxové servery, a tak lze zvolit prakticky cokoliv. 8 - 16 GB ram vás dokáže dlouho podržet, procesor stačí i nějaký kancelářský. Grafickou kartu nepotřebujete prakticky vůbec. Já na svém serveru provozuji cca 10 služeb, moje CPU i3-8100 většinou jede na pár procent a ze svých 16 GB ram využívám tak 3 - 5 GB. Samozřejmě záleží co chete provozovat. Často je žádoucí mít na serveru co nejvíc místa, a tak je nutno investovat spíš tam. Server, který provozuje pár webových služeb si vystačí s místem pod 100 GB, ale streamovací služby nebo uložiště budou vyžadovat několik TB. Naštěstí, v době psaní tohoto článku, jsou klasické HDD poměrně levné a vhodnější pro uložiště než SSD, které bývají drahé.
Pokud nechcete nic stavět lze použít jakýkoliv jiný PC. Populární je například Raspberry Pi, který se prodává jako funkční celek.
Můj první server byl právě Raspebrry Pi, který měl k sobě připáskovaný externí HDD...
Operační systém
Stejně jako jakýkoliv jiný počítač, i váš server potřebuje operační systém. Serverové systémy bývají čistší než ty co používáme na klasických PC. Nepotřebují uživatelské aplikace a většinou ani grafické rozhraní (GUI). Server se pak nastavuje v terminálu nebo příkazové řádce.
To sice vypadá jako největší strašák, ale po krátké praxi už dokážete systém ovládat stejně jako s myší. Kromě Windows mají možnost GUI i Linuxové distribuce, ale většina správců je nepoužívá aby ušetřila místo a výkon. Většina serverů na světě provozuje právě Linuxové operační systémy, jsou zdarma a fungují dobře. Nemluvě o tom, že i programy, které na serveru běží, bývají na Linux zdarma, zatím co pro Windows jsou placené. Ale obojí se legitimní volba.
Příklady serverů:


Pozor! Při stahování operačního systému si musíte stáhnout verzi, která odpovídá architektuře vašeho CPU. Tedy většinou pro x86_64 nebo ARM.
Alternativní služby
Prakticky každá služba má svoji alternativu, kterou můžete hostovat. Populární je například Jellyfin, který nahrazuje streamovací služby jakou je třeba Netflix. Kromě zábavních služeb si lze najít i různé aplikace pro byznys nebo třeba i vlastní firewally, herní servery, uložiště a podobně.
Podrobnější seznamy takových služeb:

Docker
Docker je systém, který umožňuje spouštět služby jako oddělené kontejnery. Jeho použití není vyžadováno, ale určitě extrémě doporučeno. Bez podobného systému byste museli všechny služby instalovat na server přímo a to může věci zkomplikovat. Hlavně pokud je jich už hodně, jedna začne dělat problémy a může způsobit kolaps i těch ostatních.
Docker se dokáže postarat o to, aby služby bežely odděleně a zároveň se nemusíte ani tak starat o samotné služby jako spíš o management jejich kontejnerů. Dalo by se říct, že vás posune o úroveň výše a zvýší přehlednost a stabilitu vašeho serveru. Defacto dneska už neexistuje služba, která by neměla připravenou image v dockeru.
V praxi potom jenom stáhnete z repozitáře připravenou službu, nastavíte si konfigurační soubor a necháte dockrem službu spustit. Můžete jí potom lehce pozastavit, aktualizovat, smazat,...
Závěrem
Self-hosting vám poskytuje prakticky neomezné možnosti. Cokoliv vás napadne lze hostovat na vlastním serveru. Nebaví vás platit Netflix? Udělejte si vlastní. Chcete soukromou alternativu ke Google fotkám? Zkuste Immich. Vlastní portál s poznámkami? Trilium. AdBlocker pro celou vaší síť? Pi-Hole. Minecraft server? Uložiště?...
Kromě toho, že získáte kontrolu nad vlastními daty a nikdo vám už nebude stěhovat filmy z jedné služby na druhou, si můžete prohloubit IT znalosti, které se vám budou počítat do praxe. Co pomůže při hledání práce. A sys-admin není úplně špatně placená pozice.
Výhody self-hostingu
- Dostupnost služeb bez nutnosti připojení k internetu
- Kontrola nad soukromými daty
- Nezávislost na cizí infrastruktuře
- Vaše služby můžete využívat bez omezení
- Prostor k prohloubení IT znalostí
- Velká komunita, která přispívá do open-source projektů
- Nízká cena
Nevýhody self-hostingu
- Nutnost nějakých IT znalostí
- Vlastní řešení závad
- Alternativní služby nemusí nabízet 100% funkce
- Při špatném nastavení můžete zhoršit bezpečnost (pokud je server dostupný na internetu)
- Server jede většinou non-stop a může být hlučný

