GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat Jellyfin Media Server na Ubuntu 20.04 LTS Server/Desktop

Tento tutoriál vám ukáže, jak nainstalovat mediální server Jellyfin na server/desktop Ubuntu 20.04 LTS. Jellyfin je bezplatná aplikace s otevřeným zdrojovým kódem, která vám umožní organizovat vaše filmy, televizní pořady, hudbu a fotografie v jednom krásném rozhraní a streamovat tyto mediální soubory na vašem PC, tabletu, telefonu, TV, Roku atd. v síti nebo přes internetu. Jellyfin lze nainstalovat na Linux, MacOS a Windows.

Funkce medúzy

Jellyfin je fork z mediálního serveru Emby. Obsahuje mnoho stejných funkcí jako Plex a Emby.

  • Na rozdíl od Plex nebo Emby je Jellyfin 100% zdarma a open source. Žádné reklamy. Bez omezení přehrávání v mobilních aplikacích. (I když aplikace pro iOS nemůže přehrávat videa na pozadí.)
  • Sledujte živé televizní vysílání a nastavte si automatické nahrávání, abyste rozšířili svou knihovnu.
  • Automaticky načítat umělecká díla, metadata z TheTVDB, TheMovieDB, The OpenMovie Database a Rotten Tomatoes.
  • Podporuje DLNA.
  • Lze nainstalovat volitelné pluginy, které poskytují další funkce.
  • Podporuje hardwarovou akceleraci kódování/dekódování videa pomocí FFMpeg.
  • A další.

Instalovat Jellyfin Media Server na Ubuntu 20.04

Jellyfin není součástí výchozího úložiště Ubuntu, ale má své vlastní úložiště. Spusťte následující příkaz a přidejte úložiště Jellyfin do svého systému Ubuntu.

echo "deb [arch=$( dpkg --print-architecture )] https://repo.jellyfin.org/ubuntu focal main" | sudo tee /etc/apt/sources.list.d/jellyfin.list

Dále spusťte následující příkaz pro import klíče Jeffyfin GPG do systému Ubuntu, aby APT mohl ověřit integritu balíčku během instalace.

wget -O - https://repo.jellyfin.org/jellyfin_team.gpg.key | sudo apt-key add -

A protože toto úložiště používá připojení HTTPS, musíme také nainstalovat apt-transport-https a ca-certificates balíček.

sudo apt install apt-transport-https ca-certificates

Nakonec aktualizujte index balíčků na vašem systému Ubuntu a nainstalujte Jellyfin.

sudo apt update

sudo apt install jellyfin

Tento příkaz také nainstaluje 3 další balíčky jako závislosti:

  • jellyfin-ffmpeg :pro překódování videa.
  • jellyfin-server :server typu back-end.
  • jellyfin-web :webové rozhraní frontend.

Nyní je mediální server Jellyfin nainstalován, jeho stav můžeme zkontrolovat pomocí:

systemctl status jellyfin

Jak můžete vidět, běží na mém systému Ubuntu 20.04. (Stiskněte q klíč k převzetí kontroly nad terminálem.)

Pokud mediální server Jellyfin neběží, můžete jej spustit pomocí:

sudo systemctl start jellyfin

Počáteční nastavení serveru médií Jellyfin

Webové rozhraní pro správu je dostupné na portu 8096. K webovému rozhraní Jellyfin se můžete dostat přes následující URL.

http://127.0.0.1:8096/web

Pokud jste nainstalovali Jellyfin na vzdálený server Ubuntu, musíte nastavit reverzní proxy s Nginx nebo Apache, abyste získali přístup k webovému uživatelskému rozhraní, což je vysvětleno dále v tomto tutoriálu.

Prvním krokem je vybrat preferovaný jazyk.

Na další obrazovce vytvořte uživatelský účet.

Nyní můžete přidávat knihovny. Klikněte na Add Media Library tlačítko.

Vyberte typ obsahu (filmy, hudba, televizní pořady atd.) a zobrazovaný název.

Poté klikněte na Plus (+) tlačítko pro výběr složky obsahu.

Všimněte si, že jellyfin uživatel musí mít oprávnění ke čtení a spouštění vašich mediálních adresářů. Například můj 2T externí pevný disk je připojen pod /media/linuxbabe/ , který je ve vlastnictví root. Uživatelé, kteří nejsou ve skupině root k němu nemám přístup, takže spustím následující příkaz, abych dal uživateli jellyfin číst a provádět oprávnění. (Nedoporučuji měnit vlastnictví pomocí chown nebo chgrp příkaz. Pomocí setfacl bude stačit příkaz.)

sudo setfacl -m u:jellyfin:rx /media/linuxbabe/

Možná budete také muset přidělit oprávnění k jednotlivým adresářům médií, jak je uvedeno níže.

sudo setfacl -m u:jellyfin:rx /media/linuxbabe/directory-name

Může být lákavé přidat rekurzivní příznak (-R ), což dává jellyfin oprávnění ke čtení a spouštění pro každý soubor a podadresář na disku.

sudo setfacl -R -m u:jellyfin:rx /media/linuxbabe/

Pokud váš externí pevný disk slouží pouze k ukládání mediálních souborů, můžete tak učinit, ale pokud máte na externím pevném disku citlivé soubory, nedělejte to.

Jakmile dokončíte přidávání složek médií, můžete nakonfigurovat nastavení knihovny. Vyberte svůj jazyk, zemi atd.

Klikněte na Ok a Next knoflík. Vždy můžete později přidat další knihovny. Další krok vám umožňuje vybrat, zda bude povolen vzdálený přístup. Nedoporučuji povolovat nativní metodu vzdáleného přístupu, protože neposkytuje šifrování HTTPS, takže zrušte zaškrtnutí obou políček. Pokud potřebujete vzdálený přístup, přečtěte si prosím, jak nastavit reverzní proxy dále v tomto článku.

Klikněte na Next a Finish knoflík. Nakonec se přihlaste ke svému účtu Jellyfin.

Opakujte počáteční nastavení

Pokud jste udělali chybu v počátečním nastavení, můžete začít znovu. Nejprve upravte konfigurační soubor Jellyfin.

sudo nano /etc/jellyfin/system.xml

Změnit

<IsStartupWizardCompleted>true</IsStartupWizardCompleted>

do

<IsStartupWizardCompleted>false</IsStartupWizardCompleted>

Uložte a zavřete soubor. Poté restartujte Jellyfin.

sudo systemctl restart jellyfin

Nyní navštivte localhost:8096/web a znovu uvidíte průvodce nastavením.

Kde stáhnout filmy a televizní pořady

  1. Používejte torrentového klienta, jako je Deluge.
  2. Zjistěte, jak stahovat z Usenet.

Výhody Usenetu

  1. Dává vám to lepší soukromí, protože ostatní nevidí, co stahujete.
  2. Extrémně vysoká rychlost stahování.
  3. Soubory na Usenetu jsou obvykle uchovávány mnohem déle než soubory torrent. Newsdemon například ukládá soubory po dobu 4430 dní (více než 12 let), takže starý obsah můžete stahovat velmi vysokou rychlostí.

Nastavení zpětného proxy

Protože poslouchá na 127.0.0.1:8096 , Webové rozhraní Jellyfin je dostupné pouze pro připojení ze stejného počítače. Abychom mohli přistupovat k webovému rozhraní Jellyfin ze vzdáleného počítače, můžeme nastavit reverzní proxy pro Jellyfin s Nginx nebo Apache.

Nginx

Nginx je velmi oblíbený webový server a reverzní proxy. Pokud dáváte přednost použití Nginx, spusťte následující příkaz a nainstalujte jej.

sudo apt install nginx

Poté vytvořte soubor bloku serveru pro Jellyfin.

sudo nano /etc/nginx/conf.d/jellyfin.conf

Přidejte do tohoto souboru následující obsah. Nahraďte jellyfin.example.com s vlastním názvem domény. Měli byste také vytvořit záznam DNS A pro tuto subdoménu. Pokud nemáte skutečný název domény, doporučuji přejít na NameCheap a koupit si ho. Cena je nízká a poskytují ochranu soukromí whois doživotně zdarma.

server {
      listen 80;
      listen [::]:80;
      server_name jellyfin.example.com;

      access_log /var/log/nginx/jellyfin.access;
      error_log /var/log/nginx/jellyfin.error;

      set $jellyfin 127.0.0.1;

      location / {
          proxy_pass http://127.0.0.1:8096;
          proxy_set_header Host $host;
          proxy_set_header X-Real-IP $remote_addr;

          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          proxy_set_header X-Forwarded-Proto $scheme;
          proxy_set_header X-Forwarded-Protocol $scheme;
          proxy_set_header X-Forwarded-Host $http_host;

          # Disable buffering when the nginx proxy gets very resource heavy upon streaming
          proxy_buffering off;
      }

      # location block for /web - This is purely for aesthetics so /web/#!/ works instead of having to go to /web/index.html/#!/
      location ~ ^/web/$ {
          # Proxy main Jellyfin traffic
          proxy_pass http://$jellyfin:8096/web/index.html/;
          proxy_set_header Host $host;
          proxy_set_header X-Real-IP $remote_addr;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          proxy_set_header X-Forwarded-Proto $scheme;
          proxy_set_header X-Forwarded-Protocol $scheme;
          proxy_set_header X-Forwarded-Host $http_host;
      }

      location /socket {
          # Proxy Jellyfin Websockets traffic
          proxy_pass http://$127.0.0.1:8096;
          proxy_http_version 1.1;
          proxy_set_header Upgrade $http_upgrade;
          proxy_set_header Connection "upgrade";
          proxy_set_header Host $host;
          proxy_set_header X-Real-IP $remote_addr;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          proxy_set_header X-Forwarded-Proto $scheme;
          proxy_set_header X-Forwarded-Protocol $scheme;
          proxy_set_header X-Forwarded-Host $http_host;
      }

        # Security / XSS Mitigation Headers
        add_header X-Frame-Options "SAMEORIGIN";
        add_header X-XSS-Protection "1; mode=block";
        add_header X-Content-Type-Options "nosniff";

}

Uložte a zavřete tento soubor. Poté otestujte konfiguraci Nginx.

sudo nginx -t

Pokud je test úspěšný, znovu načtěte Nginx, aby se změna projevila.

sudo systemctl reload nginx

Nyní máte přístup k mediálnímu serveru Jellyfin přes jellyfin.example.com .

Apache

Pokud dáváte přednost Apache před Nginx, nainstalujte webový server Apache pomocí následujícího příkazu.

sudo apt install apache2

Chcete-li používat Apache jako reverzní proxy, musíme povolit proxy moduly a modul záhlaví.

sudo a2enmod proxy proxy_http headers proxy_wstunnel

Poté vytvořte virtuální hostitelský soubor pro Jellyfin.

sudo nano /etc/apache2/sites-available/jellyfin.conf

Do souboru vložte následující konfigurace. Nahraďte jellyfin.example.com s vaším skutečným názvem domény. Nezapomeňte vytvořit DNS A záznam pro tuto subdoménu. Pokud nemáte skutečný název domény, doporučuji přejít na NameCheap a koupit si ho. Cena je nízká a poskytují ochranu soukromí whois doživotně zdarma.

<VirtualHost *:80>
   ServerName jellyfin.example.com
   ErrorDocument 404 /404.html

   #HTTP proxy
   ProxyPass / http://localhost:8096/
   ProxyPassReverse / http://localhost:8096/

   #Websocket proxy
   SSLProxyEngine on
   <Location /:/websockets/notifications>
        ProxyPass wss://localhost:8096/:/websockets/notifications
        ProxyPassReverse wss://localhost:8096/:/websockets/notifications
   </Location>

   Header always unset X-Frame-Options
</VirtualHost>

Uložte a zavřete soubor. Poté povolte tohoto virtuálního hostitele.

sudo a2ensite jellyfin.conf

Restartujte Apache

sudo systemctl restart apache2

Nyní můžete přistupovat k mediálnímu serveru Jellyfin pomocí názvu domény jellyfin.example.com .

Povolit HTTPS

Abychom zašifrovali provoz HTTP, když navštívíte server Jellyfin zvenčí, můžeme povolit HTTPS instalací bezplatného certifikátu TLS vydaného z Let’s Encrypt. Spuštěním následujícího příkazu nainstalujte klienta Let’s Encrypt (certbot) na Ubuntu 20.04.

sudo apt install certbot

Pokud používáte Nginx, musíte si také nainstalovat plugin Certbot Nginx.

sudo apt install python3-certbot-nginx

Dále spusťte následující příkaz pro získání a instalaci certifikátu TLS.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d jellyfin.example.com

Pokud používáte Apache, musíte si nainstalovat plugin Certbot Apache.

sudo apt install python3-certbot-apache

Dále spusťte následující příkaz pro získání a instalaci certifikátu TLS.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d jellyfin.example.com

Kde:

  • --nginx :Použijte plugin nginx.
  • --apache :Použijte plugin Apache.
  • --agree-tos :Souhlas se smluvními podmínkami.
  • --redirect :Vynutit HTTPS přesměrováním 301.
  • --hsts :Přidejte hlavičku Strict-Transport-Security do každé odpovědi HTTP. Vynucení prohlížeče, aby pro doménu vždy používal TLS. Chrání před odstraněním SSL/TLS.
  • --staple-ocsp :Umožňuje sešívání OCSP. Platná odpověď OCSP je přišita k certifikátu, který server nabízí během TLS.

Certifikát by nyní měl být získán a automaticky nainstalován.

A můžete přistupovat k webovému rozhraní Jellyfin přes HTTPS:https://jellyfin.example.com .

Jak upgradovat Jellyfin na Ubuntu 20.04

Když vyjde nová verze mediálního serveru Jellyfin, můžete ji upgradovat provedením následujících příkazů.

sudo apt update

sudo apt upgrade

Poté restartujte Jellyfin.

sudo systemctl restart jellyfin

Tipy pro odstraňování problémů

Chyba při odesílání zprávy ze zásuvky

Pokud váš server Ubuntu používá WireGuard VPN, může se vám v protokolu Jellyfin zobrazit následující chyba (sudo journalctl -eu jellyfin ).

[ERR] Error sending socket message from 10.0.0.102 to 239.255.255.250:1900
System.Net.Sockets.SocketException (0xFFFFFFFF): Bad value for ai_flags

Tato chyba znamená, že zprávu nelze odeslat z vašeho rozhraní WireGuard na 239.255.255.250, což je adresa vícesměrového vysílání SSDP (Simple Service Discovery Protocol). Je to kvůli tomu, že vašemu rozhraní WireGuard není povoleno dosáhnout IP adresy.

Chcete-li tento problém vyřešit, upravte konfigurační soubor rozhraní WireGuard.

sudo nano /etc/wireguard/your-interface.conf

Najděte AllowedIPs parametr. Můj je jako níže.

AllowedIPs = 10.0.0.0/8

Jak vidíte, klient VPN se může připojit pouze k síti 10.0.0.0/8. Nyní přidejte 239.255.255.250 adresu.

AllowedIPs = 10.0.0.0/8, 239.255.255.250

Uložte a zavřete soubor. Restartujte WireGuard.

sudo systemctl restart [email protected]your-interface

Restartujte Jellyfin.

sudo systemctl restart jellyfin

Zkontrolujte protokol Jellyfin (sudo journalctl -eu jellyfin ) znovu. Výše uvedená chyba by měla být pryč.

Neplatný podpis

Pokud se při spuštění sudo apt update zobrazí následující chyba příkaz,

The following signatures were invalid: EXPKEYSIG 49023CD01DE21A7B Jellyfin Team <[email protected]>

musíte znovu naimportovat veřejný klíč Jellyfin pomocí následujícího příkazu.

wget -O - https://repo.jellyfin.org/jellyfin_team.gpg.key | sudo apt-key add -

Ubuntu
  1. Jak nainstalovat Plex Media Server na Ubuntu 20.04

  2. Jak nainstalovat Plex Media Server na Ubuntu 18.04

  3. Jak nainstalovat Airsonic Media Server na Ubuntu 18.04 LTS

  1. Jak nainstalovat Icecast 2 Media Streaming Server na Ubuntu 18.04 LTS

  2. Jak nainstalovat Jellyfin Media Server s Nginx na Ubuntu 20.04

  3. Jak nainstalovat Ubuntu Server 18.04 LTS

  1. Jak nainstalovat server Ubuntu 20.04 LTS

  2. Jak nainstalovat Plex Media Server na Ubuntu 18.04 LTS

  3. Jak nainstalovat Jellyfin Media Server v Ubuntu, Debianu a Mintu