Jak proměnit levný Android TV Box na Linuxový domácí server a mediální systém běžící 24/7
Dlouho jsem hledal malé, tiché zařízení, které by mohlo běžet 24/7 bez vysoké spotřeby energie.
Něco jednoduchého, levného a dostatečně efektivního pro zvládnutí základních úkolů domácího serveru, aniž by to bylo příliš komplikované.
Typické možnosti, jako Raspberry Pi nebo Orange Pi, fungují dobře, ale jakmile připočtete úložiště, napájecí zdroje a příslušenství, celkové náklady mohou být vzhledem k výkonu překvapivě vysoké.
Začal jsem tedy hledat alternativy.
Myšlenka: Android TV Boxy jako Linuxová zařízení
Při procházení fór o Armbianu jsem narazil na lidi, kteří předělávají levné Android TV boxy na Linuxové stroje.
To okamžitě upoutalo mou pozornost.
Tato zařízení často běží na SoC založených na ARM architektuře a někdy do nich lze (podle hardwarové podpory) nahrát Linuxové distribuce jako Armbian.
Nakonec jsem skončil u H96 Max (RK3328):
- 4 GB RAM
- 64 GB vnitřního úložiště
- Firmware založený na Androidu
- Podpora 4K videa
- WiFi + Ethernet
- HDMI + USB porty
Jako TV box nic zvláštního, ale jako nízkoenergetický systém běžící nonstop je to potenciálně velmi zajímavé.
Nahrání Armbianu a první spuštění
Po určitém průzkumu a pokusech a omylech se mi podařilo na zařízení nahrát Armbian.
Jako většina projektů s Android TV boxy, ani toto nebylo úplně přímočaré. Součástí procesu byly různé obrazy systému, problémy se spouštěním a několik neúspěšných pokusů.
Nakonec se mi do Linuxu podařilo úspěšně nabootovat.
Odtud se to rychle začalo jevit jako použitelný headless systém.
Spouštění služeb na Armbianu
Jakmile Armbian běžel, začal jsem experimentovat se skutečným vytížením.
První službou, kterou jsem nastavil, byla Pi-hole, nainstalovaná přímo v systému (ne v Dockeru). Fungovala dobře jako lehký síťový DNS filtr a okamžitě se stala užitečnou v mé domácí síti.
Dále jsem nainstaloval i Jellyfin, opět nativně, mimo kontejnery. Cílem bylo udržet hlavní služby jednoduché a stabilní.
Kromě toho jsem spustil několik Docker kontejnerů pro menší experimenty a pomocné služby.
V tento moment vypadalo nastavení takto:
- Pi-hole (nativní instalace)
- Jellyfin (nativní instalace)
- Pár Docker kontejnerů
- Plně headless Linuxové prostředí
Na levný Android TV box to působilo jako překvapivě schopný domácí server.
Problém: Headless přehrávání YouTube (mpv + yt-dlp)
Jednou z věcí, se kterou jsem chtěl experimentovat, bylo přehrávání YouTube v plně headless nastavení.
Nešlo o žádný prohlížeč ani desktopové prostředí — vše bylo striktně založené na terminálu.
Pro tento účel jsem použil mpv v kombinaci s yt-dlp pro streamování obsahu YouTube přímo z příkazové řádky:
- yt-dlp vyřeší stream videa
- mpv zajišťuje přehrávání
Toto nastavení funguje dobře v běžných Linuxových prostředích.
Nicméně na tomto zařízení to od začátku nefungovalo spolehlivě.
Hlavním problémem nebyly nástroje samotné, ale hardwarová a ovladačová omezení:
- nekonzistentní hardwarová akcelerace videa na Armbianu
- dekódování procesorem (CPU fallback) na RK3328
- nestabilní výkon při vyšších rozlišeních
- omezená podpora VPU/GPU ve firmwaru TV boxu
Výsledkem bylo, že přehrávání často příliš vytěžovalo procesor a nebylo dostatečně plynulé.
Takže i když myšlenka plně headless mediálního systému byla lákavá, v praxi nebyla v této konfiguraci použitelná.
Změna směru: LibreELEC (Kodi)
V tu chvíli jsem začal hledat řešení více zaměřené na média, namísto toho, abych nutil headless Linux do něčeho, pro co nebyl příliš vhodný.
Někdo v komunitě na Discordu navrhl LibreELEC, což je odlehčený operační systém založený na Kodi, navržený speciálně pro vestavěná zařízení a přehrávání hardwarově akcelerovaného videa.
To se ukázalo jako správný směr.
LibreELEC poskytl:
- mediální centrum založené na Kodi
- správné přehrávání s hardwarovou akcelerací
- stabilní a plynulý zážitek z médií
Zajímavou částí ale je, že jsem ho nepoužíval jen jako mediální systém. Podařilo se mi vedle něj spustit i další služby:
- Pi-hole
- Jellyfin
- pár Docker kontejnerů
V praxi se tedy LibreELEC stal hybridním nastavením, spíše než jen mediálním boxem. Dopadlo to jako konfigurace „toho nejlepšího z obou světů“ — obsluha přehrávání médií přes Kodi a přitom běh lehkých serverových služeb na pozadí.
Konečné nastavení a výsledek
Nakonec se zařízení vyvinulo do dvou odlišných režimů v závislosti na operačním systému:
Armbian (fáze zaměřená na server)
- Pi-hole (nativní instalace)
- Jellyfin (nativní instalace)
- Docker pro experimenty
- Headless Linuxové nastavení
LibreELEC (hybridní média + služby)
- Mediální centrum založené na Kodi
- Přehrávání s hardwarovou akcelerací
- Pi-hole + Jellyfin + Docker kontejnery běžící vedle Kodi
- Kombinovaný mediální frontend a lehký server
Závěrečné myšlenky
To, co začalo jako levný Android TV box, se změnilo v překvapivě flexibilní nízkoenergetické zařízení pro domácí laboratoř.
Není to dokonalé a vyžaduje to experimentování, zejména ohledně hardwarové podpory a softwarové kompatibility. Ale o to je to zajímavější.
Je fascinující, čím se může levný Android TV box stát, když do něj místo Androidu nahrajete Linux.
Největším poznatkem z tohoto projektu je, že stejný hardware se může chovat úplně odlišně v závislosti na softwarové výbavě:
- Armbian → lepší jako headless server a experimentální platforma
- LibreELEC → lepší jako hybridní systém zaměřený na média
Nakonec H96 Max (RK3328) dokázal, že i levné TV boxy mohou být předělány na užitečné systémy běžící 24/7, pokud jste ochotni obejít jejich omezení.
A někdy nejlepší řešení není výběr mezi „serverem“ nebo „mediálním boxem“ — ale jejich kombinace způsobem, který reálně vyhovuje hardwaru.
Toto je začátek mé série Home Lab Experiments, kde budu dokumentovat malé, ale praktické sestavy, jako je tato.
