Tropic Host

Jellyfin na VPS: instalace vlastního mediálního serveru

6 min čtení
Tropic
Jellyfin na VPS: instalace vlastního mediálního serveru

Language: cs

Jellyfin na VPS: jak vytvořit vlastní mediální server

Složka plná videí jen zřídka působí jako pohodlná knihovna: nekonzistentní názvy souborů, samostatné soubory s titulky a ruční hledání správné epizody. Jellyfin takový archiv promění v osobní streamovací službu s plakáty, popisy, profily uživatelů a historií přehrávání.

Jellyfin zároveň neprodává předplatné ani neposkytuje hotový katalog obsahu. Pracuje s vašimi soubory a může běžet na domácím počítači, NAS nebo VPS. Níže probereme jeho funkce, požadavky na server a instalaci na Ubuntu s doménou a HTTPS.

Co je Jellyfin a proč ho můžete potřebovat

Jellyfin je bezplatný mediální server s otevřeným zdrojovým kódem. Server indexuje filmy, seriály, hudbu, fotografie a další obsah, zatímco klientské aplikace ho přehrávají v telefonu, počítači nebo televizi.

Po prohledání složek Jellyfin stáhne plakáty a popisy, uspořádá seriály podle sezón, zapamatuje si pozici přehrávání a zobrazí sekci „Pokračovat ve sledování“. Pro členy rodiny můžete vytvořit oddělené místní profily, omezit přístup ke knihovnám a nastavit rodičovskou kontrolu. Quick Connect umožňuje přihlásit se v televizi krátkým kódem místo zadávání dlouhého hesla.

Klienti jsou dostupní pro Android, iOS, Android TV, Roku, webOS, Tizen, Xbox a stolní počítače. Jellyfin poskytuje také webové rozhraní a integraci s Kodi.

Jellyfin podporuje také hudbu, IPTV, TV tunery a nahrávání živého vysílání. SyncPlay synchronizuje přehrávání pro více uživatelů a pluginy přidávají titulky, nové zdroje metadat a integrace.

Jellyfin sám nevyhledává ani nestahuje filmy. Pouze organizuje a streamuje obsah, který už vlastník serveru má.

Jellyfin vs. Plex: hlavní rozdíly

Obě řešení promění místní sbírku v mediální službu, ale používají odlišné modely.

ParametrJellyfinPlex
Zdrojový kódOpen sourceProprietární
Prémiové funkceServer a oficiální klienti nemají placenou úroveňNěkteré funkce závisí na tarifu předplatného
Centrální účetNení vyžadovánPoužívá ekosystém poskytovatele
Vzdálený přístupVlastník nastavuje doménu, reverzní proxy nebo VPNNabízí více hotových mechanismů
Kontrola nad datyMaximálníČást infrastruktury ovládá poskytovatel

Lidé volí Jellyfin kvůli nezávislosti, soukromí a absenci předplatného. Plex může být pohodlnější, pokud je nejvyšší prioritou co nejjednodušší nastavení a trvale vyladěné aplikace na všech zařízeních.

Direct Play nebo transkódování: co zatěžuje server

Výkon Jellyfinu závisí méně na velikosti knihovny než na způsobu přehrávání.

RežimCo se dějeZátěž
Direct PlayServer odešle původní souborNízká
Direct StreamZmění se kontejner nebo jednotlivá stopaNízká nebo střední
TranskódováníZa běhu se změní kodek, rozlišení nebo bitrateVysoká

Pokud televize podporuje kodek souboru, zvuk i titulky, server využívá téměř žádný CPU. Problémy nastanou, když klient formát nezvládá, připojení vyžaduje nižší bitrate nebo je nutné titulky vypálit do obrazu. Jellyfin pak spustí FFmpeg a video transkóduje v reálném čase.

4K, HEVC, HDR a převod HDR na SDR jsou obzvlášť náročné. Běžný VPS bez grafického procesoru může mít potíže, i když má mnoho virtuálních CPU jader. Kompatibilní formáty a Direct Play tak mohou ušetřit více peněz než přechod na vyšší serverový tarif.

Jaký server Jellyfin potřebuje

Oficiální doporučení pro typickou instalaci je přibližně 8 GB RAM. Na Linuxu bez grafického rozhraní může malý server fungovat se 4 GB. Rychlý disk je potřeba pro operační systém, databázi, obrázky, cache a dočasné soubory; mediální knihovna se ukládá zvlášť a obvykle zabere většinu prostoru.

ScénářVýchozí konfiguracePoznámka
Hudba a jeden stream 1080p Direct Play2 vCPU, 4 GB RAMDůležitější jsou rychlost sítě a disku
Malá rodinná mediální knihovna4 vCPU, 8 GB RAMVhodnější jsou kompatibilní formáty
Občasné transkódování 1080p4–8 výkonných vCPU nebo GPUZátěž závisí na kodeku
Několik streamů 4K/HDRModerní Intel iGPU nebo grafická kartaBěžný VPS pouze s CPU není vhodný

Počítejte také s přenesenými daty: stream rychlostí 20 Mbps přenese přibližně 9 GB za hodinu. Při každodenním sledování může spotřeba rychle dosáhnout stovek gigabajtů měsíčně.

Domácí server nebo VPS

Domácí mini PC nebo NAS je úspornější pro sbírku o velikosti několika terabajtů a pravidelné hardwarové transkódování. Můžete nainstalovat velkokapacitní disky a vybrat procesor s Intel Quick Sync, ale vzdálený přístup závisí na elektřině, domácím internetovém připojení a dostupnosti veřejné IP adresy.

VPS má veřejnou adresu, stabilní připojení a běží nepřetržitě. Hodí se pro hudbu, malou videosbírku, Direct Play a uživatele na různých místech. Jeho omezením jsou cena úložiště a absence GPU u standardních tarifů.

Existuje také hybridní varianta: soubory zůstanou doma a VPS funguje jako bezpečný vstupní bod. Toto řešení pomůže, když nemáte veřejnou IPv4 adresu, rychlost přehrávání je však stále omezena rychlostí odesílání domácího připojení.

Instalace Jellyfinu na Ubuntu s Docker Compose

V níže uvedeném nastavení běží Jellyfin a Caddy ve stejné Docker síti. Port 8096 není vystaven internetu; Caddy přijímá HTTPS připojení a automaticky získává certifikát.

Nejprve nasměrujte A záznam domény, například media.example.com, na IP adresu serveru.

1. Nainstalujte Docker a vytvořte adresáře

sudo apt update
sudo apt install -y docker.io docker-compose-v2
sudo systemctl enable --now docker

sudo mkdir -p /opt/jellyfin/{config,cache,caddy-data,caddy-config}
sudo mkdir -p /srv/media/{movies,series,music}
cd /opt/jellyfin

2. Vytvořte /opt/jellyfin/compose.yaml

services:
  jellyfin:
    image: jellyfin/jellyfin:latest
    container_name: jellyfin
    restart: unless-stopped
    volumes:
      - ./config:/config
      - ./cache:/cache
      - /srv/media:/media:ro
    networks: [media]

  caddy:
    image: caddy:2
    container_name: jellyfin-caddy
    restart: unless-stopped
    ports:
      - "80:80"
      - "443:443"
      - "443:443/udp"
    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile:ro
      - ./caddy-data:/data
      - ./caddy-config:/config
    networks: [media]

networks:
  media:

Volba :ro připojí mediální knihovnu pouze pro čtení a chrání původní soubory před náhodným smazáním přes Jellyfin.

3. Vytvořte /opt/jellyfin/Caddyfile

media.example.com {
    reverse_proxy jellyfin:8096
}

Nahraďte doménu vlastní, spusťte kontejnery a otevřete potřebné porty:

sudo docker compose up -d

sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 443/udp
sudo ufw enable

Pokud SSH používá jiný port, povolte ho samostatným pravidlem ještě před spuštěním ufw enable.

Po vystavení certifikátu otevřete https://media.example.com. V síťovém nastavení Jellyfinu přidejte reverzní proxy do seznamu důvěryhodných proxy, aby omezení externího přístupu fungovala správně.

První nastavení mediální knihovny

V průvodci nastavením vyberte jazyk, vytvořte administrátora a přidejte knihovny:

  • movies — /media/movies;
  • TV shows — /media/series;
  • music — /media/music.

Pro přesnou identifikaci používejte jasné názvy:

/media/movies/Movie Title (2024)/Movie Title (2024).mkv
/media/series/Series Title (2024)/Season 01/Series Title S01E01.mkv

Vytvořte samostatný běžný profil pro sledování a skryjte účet administrátora na přihlašovací obrazovce. Uživatelům dejte přístup pouze ke knihovnám, které potřebují, a nepovolujte mazání souborů, pokud to není nutné.

Aktualizace a zálohy

Konfigurace Jellyfinu obsahuje uživatele, nastavení, databázi a pozici přehrávání. Před aktualizací zastavte kontejner a uložte adresář config:

cd /opt/jellyfin
sudo docker compose stop jellyfin
sudo tar -czf /root/jellyfin-config-$(date +%F).tar.gz config
sudo docker compose start jellyfin

Archiv přesuňte mimo VPS. Mediální soubory zálohujte samostatně.

Pro aktualizaci spusťte:

sudo docker compose pull
sudo docker compose up -d

Nevystavujte port 8096 přímo. Používejte HTTPS nebo VPN, pravidelně instalujte aktualizace a sledujte volné místo na disku.

Jellyfin na VPS od tropic.host

Pro malou mediální knihovnu, která využívá hlavně Direct Play, můžete začít s Linux VPS se 4 GB RAM. Pro více uživatelů, velkou databázi a další služby je rozumnější 8 GB.

Při výběru VPS od tropic.host posuzujte kapacitu úložiště, měsíční provoz a potřebu transkódování samostatně. Virtuální server je pohodlný jako stále dostupný koncový bod s veřejnou IP adresou a HTTPS, ale nenahrazuje GPU server. Pokud potřebujete několik streamů 4K/HDR s převodem formátu, je lepší domácí server s Intel iGPU, dedikovaný server nebo specializovaný tarif s grafickou kartou.

Začněte s malou sbírkou, sledujte podíl relací Direct Play v panelu Jellyfinu a teprve potom navyšujte CPU, RAM nebo úložiště podle skutečné zátěže.

Shrnutí

Jellyfin promění vlastní sbírku v osobní streamovací službu bez povinného předplatného nebo centrálního účtu. Pro úspěšné nasazení je důležité předem odhadnout úložiště, provoz a pravděpodobnost transkódování.

Malý server s Direct Play často zvládne 4–8 GB RAM. Pravidelné přehrávání 4K/HDR vyžaduje hardwarové zpracování videa. Bez ohledu na konfiguraci chraňte externí přístup pomocí HTTPS nebo VPN a nastavení i mediální knihovnu zálohujte odděleně.

FAQ

Je Jellyfin zcela zdarma?

Ano. Server i klienti jsou dostupní bez prémiového tarifu. Platíte pouze za hardware, VPS, disky, doménu a provoz.

Obsahuje Jellyfin filmy a seriály připravené ke sledování?

Ne. Uživatelé přidávají vlastní mediální soubory.

Může Jellyfin běžet na VPS bez grafické karty?

Ano, pokud se většina souborů přehrává přes Direct Play. Časté transkódování 4K a HDR vyžaduje server s vhodným iGPU nebo grafickou kartou.

Kolik RAM Jellyfin potřebuje?

Malý Linux server může fungovat se 4 GB RAM. Pro rodinnou mediální knihovnu a několik uživatelů je lepším cílem 8 GB.

Jak bezpečně zpřístupnit Jellyfin přes internet?

Použijte doménu a HTTPS přes reverzní proxy nebo VPN. Nevystavujte port 8096 přímo a vytvářejte oddělené uživatelské účty s minimálními oprávněními.