Medúza je bezplatná multimediální aplikace s otevřeným zdrojovým kódem určená k organizování, správě a sdílení digitálních mediálních souborů do síťových zařízení v interní síti a lze k ní přistupovat podle potřeby na dálku. Je to multiplatformní a alternativa k dalším významným hráčům, Plex a Emby. Můžete k němu přistupovat z celé řady zařízení, jako jsou mobilní telefony, tablety, televize a počítače nebo populární mediální zařízení, jako je Roku nebo štít Nvidia. Jellyfin také poskytuje média pro zařízení s podporou DLNA a Chromecast a může načítat metadata stejně jako Plex a Emby, aby mohla vaše média organizovat do kategorií v bohatém multimediálním zážitku.
Pokud byste chtěli testovat, Jellyfin vytvořil demo server přihlaste se a sami si to ověřte.
V následujícím tutoriálu se dozvíte, jak nainstalovat Jellyfin na Debian 11 Bullseye, spolu s tím, jak nastavit vaše mediální jednotky tak, aby měly správný přístup pro čtení a zápis; plus, pokud chcete vzdáleně streamovat možnost reverzního proxy Apache nebo Nginx,jak to zabezpečit pomocí certifikátu Let’s Encrypt Free SSL pro obě webové aplikace.
Aktualizujte Debian
Nejprve, než začnete zajišťovat hladký průběh instalace, aktualizujte svůj systém následovně.
sudo apt update && sudo apt upgrade -y
Instalujte požadované balíčky
Než budete pokračovat ve výukovém programu, budete se muset ujistit, že máte nainstalované následující balíčky:
sudo apt install apt-transport-https ca-certificates gnupg2 curl git -y
Pokud si nejste jisti, spusťte příkaz; neublíží vám to.
Instalovat Jellyfin Media Server
Jellyfin se nedodává s výchozím úložištěm Debianu, takže musíte importovat klíč GPG a úložiště Jellyfin.
Importovat klíč GPG
Nejprve budete muset importovat klíč GPG, abyste ověřili pravost balíčku; bez něj se instalace nezdaří:
sudo wget -O- https://repo.jellyfin.org/jellyfin_team.gpg.key | gpg --dearmor | sudo tee /usr/share/keyrings/jellyfin.gpg
Importovat úložiště
Dalším krokem je import úložiště, můžete importovat stabilní (doporučeno) nebo nestabilní (beta/vývojovou) verzi, jak jsem pochopil, nestabilní může fungovat dobře, ale doporučil bych to pouze uživatelům, kteří jsou jistější v terminál a oprava problémů, pokud nastanou a mají čas.
IMPORTOVAT POUZE JEDNO ÚLOŽIŠTĚ VŽDY.
Importovat stabilní JellyFin (doporučeno):
echo "deb [arch=$( dpkg --print-architecture ) signed-by=/usr/share/keyrings/jellyfin.gpg] https://repo.jellyfin.org/debian bullseye main" | sudo tee /etc/apt/sources.list.d/jellyfin.list
Import JellyFin nestabilní:
echo "deb [arch=$( dpkg --print-architecture ) signed-by=/usr/share/keyrings/jellyfin.gpg] https://repo.jellyfin.org/debian bullseye main unstable" | sudo tee /etc/apt/sources.list.d/jellyfin.list
Dále dokončete a aktualizujte seznam svého úložiště tak, aby rozpoznal nové přírůstky:
sudo apt update
Instalovat Jellyfin
Nyní, když máte apt repozitář roztříděný, můžete nyní pokračovat v instalaci Media serveru pomocí následujícího příkazu:
sudo apt install jellyfin -y
Po instalaci se služba Jellyfin automaticky spustí. Potvrďte to pomocí následujícího příkaz systemctl .
systemctl status jellyfin
Příklad výstupu:
Pokud váš server médií nebyl z nějakého důvodu spuštěn, použijte následující příkazy:
Spusťte službu:
sudo systemctl start jellyfin
Povolit při spouštění systému:
sudo systemctl enable jellyfin
Počáteční nastavení serveru Jellyfin Media Server
Pro přístup k webovému uživatelskému rozhraní Jellyfin musíte otevřít svůj internetový prohlížeč a zadat 127.0.0.1 na výchozím portu Jellyfin 8096.
Příklad níže:
http://127.0.0.1:8096
Dostanete se na uvítací obrazovku pro úvodní nastavení serveru.
Vyberte svůj preferovaný jazyk zobrazení a klikněte na tlačítko Další -> pokračovat.
Dále se setkáte s vytvořením uživatelského jména a hesla.
Vytvořte si uživatelské jméno a heslo; jak je uvedeno na obrázku výše, po dokončení počátečního nastavení lze zadat více uživatelů. Po dokončení klikněte na tlačítko Další -> tlačítko pokračovat.
Nyní můžete nastavit knihovny médií.
Klikněte na velké + (znaménko plus) nebo Přidat knihovnu médií knoflík. Odtud můžete přidat svou složku médií, nastavení je velmi přímočaré a uživatelé Plex by zvláště cítili velmi blízkou podobnost. Po dokončení klikněte na Další -> pokračujte.
Další obrazovka je obrazovka Metadata Langauge:
Vyberte svůj jazyk a poté klikněte na tlačítko Další -> .
Pokud budete používat nebo, lépe řečeno přistupovat k serveru zvenčí a nebo za proxy, nezapomeňte nastavit Povolit vzdálená připojení k tomuto serveru jako je výchozí nastavení. Pokud přistupujete pouze k místní síti, deaktivujte toto.
Nyní uvidíte obrazovku oznamující, že jste dokončili instalaci.
Snadný krok, klikněte na tlačítko Dokončit dokončit.
Budete přesměrováni na přihlašovací obrazovku, kde se můžete přihlásit pomocí uživatelského účtu a hesla, které jste vytvořili v úvodním nastavení.
Nyní budete ve svém řídicím panelu.
Pokud během instalace nastavíte médium, automaticky se zobrazí.
Obnovit počáteční nastavení
Pokud jste během počátečního nastavení udělali chybu, můžete se vrátit pomocí následujících kroků:
Otevřete soubor system.xml:
sudo nano /etc/jellyfin/system.xml
Změňte následující, které se nachází na řádku 4:
<IsStartupWizardCompleted>true</IsStartupWizardCompleted>
Na toto:
<IsStartupWizardCompleted>false</IsStartupWizardCompleted>
Restartujte server Jellyfin:
sudo systemctl restart jellyfin
Jakmile resetujete počáteční nastavení, znovu přejděte na HTTP://127.0 .0.1:8096 a restartujte proces znovu.
Nastavení oprávnění pro jednotky médií
Jellyfin bude vyžadovat oprávnění ke čtení a spouštění vašich mediálních adresářů. Můžete použít chown nebo chgrp příkazy; naučíte se však používat příkaz setfacl pro tutoriál. Toto je pokryto, protože má potenciál být později bezpečnější a můžete ovládat přístup na velmi podrobné úrovni ve srovnání s výchozím způsobem chown a chgrp.
Chcete-li nainstalovat, spusťte následující příkaz:
sudo apt install acl -y
Debian by to měl mít nainstalováno ve výchozím nastavení, ale pokud si nejste jisti, spusťte příkaz pro jistotu.
Nyní máte několik možností pomocí příkazu setfalc , ale ve skutečnosti nebudete procházet udělováním oprávnění pro každý film a televizní pořad; místo toho je jednodušší použít rekurzivní příznak (-R) který poskytne Jellyfin přístup, který potřebuje pro vše, co se nachází v adresáři a podadresářích.
sudo setfacl -R -m u:jellyfin:rx /media/mymediadrive
Pokud potřebujete přiřadit oprávnění jednotlivým mediálním adresářům nebo souborům, použijte následující:
sudo setfacl -m u:jellyfin:rx /media/mymediadrive/example-name-of-file-or-directory
Nastavení Apache jako reverzního proxy
Můžete nastavit reverzní proxy pro přístup k Jellyfin ze vzdáleného počítače nebo sítě. V tomto příkladu výukový program nastaví proxy server Apache. Pokud chcete používat Nginx, přeskočte tuto část a přejděte do Nastavení Nginx jako reverzního proxy.
Nejprve nainstalujte Apache:
sudo apt install apache2 -y
Ve výchozím nastavení by měl být Apache povolen, pokud není aktivován. použití:
sudo systemctl start apache2
Chcete-li povolit spuštění Apache při spouštění, použijte následující příkaz:
sudo systemctl enable apache2
Příklad výstupu v případě úspěchu:
Synchronizing state of apache2.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable apache2
Ověřte stav Apache:
systemctl status apache2
Příklad výstupu:
Chcete-li použít Apache jako reverzní proxy, musíte modul povolit pomocí následujícího příkazu:
sudo a2enmod proxy proxy_http headers proxy_wstunnel
Dále vytvořte virtuálního hostitele pro svou subdoménu:
sudo nano /etc/apache2/sites-available/jellyfin.conf
Budete potřebovat aktivní doménové jméno, které lze zakoupit za pouhých 1 až 2 dolary, pokud žádnou nemáte. NameLevný má nejlepší levné domény v okolí a pokud dáváte přednost .com, použijte Cloudflare.
Po vytvoření subdomény přidejte do souboru bloku serveru následující:
<VirtualHost *:80>
ServerName jellyfin.example.com
# Comment to prevent HTTP to HTTPS redirect
Redirect permanent / https://DOMAIN_NAME
ErrorLog /var/log/apache2/DOMAIN_NAME-error.log
CustomLog /var/log/apache2/DOMAIN_NAME-access.log combined
</VirtualHost>
# If you are not using a SSL certificate, replace the 'redirect'
# line above with all lines below starting with 'Proxy'
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName DOMAIN_NAME
# This folder exists just for certbot(You may have to create it, chown and chmod it to give apache permission to read it)
DocumentRoot /var/www/html/jellyfin/public_html
ProxyPreserveHost On
# Letsencrypt's certbot will place a file in this folder when updating/verifying certs
# This line will tell apache to not to use the proxy for this folder.
ProxyPass "/.well-known/" "!"
ProxyPass "/socket" "ws://SERVER_IP_ADDRESS:8096/socket"
ProxyPassReverse "/socket" "ws://SERVER_IP_ADDRESS:8096/socket"
ProxyPass "/" "http://SERVER_IP_ADDRESS:8096/"
ProxyPassReverse "/" "http://SERVER_IP_ADDRESS:8096/"
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/DOMAIN_NAME/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/DOMAIN_NAME/privkey.pem
Protocols h2 http/1.1
# Enable only strong encryption ciphers and prefer versions with Forward Secrecy
SSLCipherSuite HIGH:RC4-SHA:AES128-SHA:!aNULL:!MD5
SSLHonorCipherOrder on
# Disable insecure SSL and TLS versions
SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
ErrorLog /var/log/apache2/DOMAIN_NAME-error.log
CustomLog /var/log/apache2/DOMAIN_NAME-access.log combined
</VirtualHost>
</IfModule>
Uložte soubor (CTRL+O) , poté ukončete (CTRL+X) .
Nyní proveďte zkušební provoz, abyste se ujistili, že v konfiguraci Apache nebo vašeho virtuálního hostitele nejsou žádné chyby:
sudo apache2ctl configtest
Pokud vše funguje správně, vzorový výstup by měl být:
Syntax OK
Povolte virtuálního hostitele na Apache následovně:
sudo a2ensite jellyfin.conf
Poté restartujte Apache:
sudo systemctl restart apache2
Nastavení Nginx jako reverzního proxy
Můžete nastavit reverzní proxy pro přístup k Jellyfin ze vzdáleného počítače nebo sítě. V tomto příkladu výukový program nastaví proxy server Nginx.
Nejprve nainstalujte Nginx:
sudo apt install nginx -y
Ve výchozím nastavení by měl být Nginx povolen, pokud není aktivován. použití:
sudo systemctl start nginx
Chcete-li povolit spuštění Nginx při spouštění, použijte následující příkaz:
sudo systemctl enable nginx
Příklad výstupu v případě úspěchu:
Synchronizing state of nginx.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable nginx
Ověřte stav Nginx:
systemctl status nginx
Příklad výstupu:
Pokud byste chtěli nainstalovat nejnovější sestavení Nginx, podívejte se na náš tutoriál o instalaci nejnovější verze Nginx Mainline nebo Stable o n Debian 11.
Nyní vytvořte nový blok serveru následovně:
sudo nano /etc/nginx/conf.d/jellyfin.conf
Budete potřebovat aktivní doménové jméno, které lze zakoupit za pouhých 1 až 2 dolary, pokud žádnou nemáte. NameLevný má nejlepší levné domény v okolí a pokud dáváte přednost .com, použijte Cloudflare.
Po vytvoření subdomény přidejte do souboru bloku serveru následující:
server {
listen 80;
server_name jellyfin.example.com;
access_log /var/log/nginx/jellyfin.access;
error_log /var/log/nginx/jellyfin.error;
set $jellyfin jellyfin;
resolver 127.0.0.1 valid=30;
# 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";
location = / {
return 302 https://$host/web/;
}
location / {
# Proxy main Jellyfin traffic
proxy_pass http://$jellyfin: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://$jellyfin:8096/socket;
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;
}
}
Uložte soubor (CTRL+O) , poté ukončete (CTRL+X) .
Nyní proveďte zkušební provoz, abyste se ujistili, že v konfiguraci Nginx nebo v bloku vašeho serveru nejsou žádné chyby:
sudo nginx -t
Pokud vše funguje správně, vzorový výstup by měl být:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Znovu načtěte Nginx, aby se změna projevila:
sudo systemctl reload nginx
Pokud jste nastavili svou doménu a záznamy DNS tak, aby odkazovaly na IP adresu vašeho serveru, můžete nyní přistupovat ke svému serveru médií Jellyfin na adrese jellyfin.example.com .
Zabezpečte Nginx nebo Apache pomocí bezplatného certifikátu Let's Encrypt SSL
V ideálním případě byste chtěli spustit svůj Apache nebo Nginx na HTTPS pomocí certifikátu SSL. Nejlepším způsobem, jak toho dosáhnout, je použít Let’s Encrypt, bezplatnou, automatizovanou a otevřenou certifikační autoritu provozovanou neziskovou organizací Internet Security Research Group (ISRG).
Nejprve nainstalujte balíček certbot odpovídající reverznímu proxy, který jste nainstalovali.
Apache:
sudo apt install python3-certbot-apache -y
Nginx:
sudo apt install python3-certbot-nginx -y
Po instalaci spusťte následující příkaz pro zahájení vytváření vašeho certifikátu:
Apache:
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d jellyfin.example.com
Nginx:
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d jellyfin.example.com
Toto ideální nastavení zahrnuje vynucené přesměrování HTTPS 301, hlavičku Strict-Transport-Security a sešívání OCSP. Nezapomeňte upravit e-mail a název domény podle svých požadavků.
Nyní bude vaše adresa URL https://jellyfin.example.com místo HTTP://jellyfin.example.com .
Jak aktualizovat/upgradovat Jellyfin Media Server
Jellyfin lze aktualizovat pomocí standardního příkazu apt update že většinu času využijete při aktualizaci balíčků na vašem systému.
Pomocí následujícího příkazu zkontrolujete aktualizace, které automaticky vyzvednou i vše ostatní.
sudo apt update
Pokud je k dispozici, použijte příkaz upgrade:
sudo apt upgrade
Jak odebrat (odinstalovat) Jellyfin Media Server
Pro uživatele, kteří již tento software nepotřebují, můžete Jellyfin ze svého systému Debian odebrat.
Nejprve odstraňte software pomocí následujícího příkazu.
sudo autoremove install jellyfin --purge -y
Dále odeberte přidané úložiště, pokud nemáte v plánu Jellyfin znovu použít.
sudo rm /etc/apt/sources.list.d/jellyfin.list
A to je vše; úspěšně jste odstranili Jellyfin ze svého systému.