So installieren Sie Jellyfin Media Server unter Linux Mint 22, 21 oder 20

Jellyfin ist ein leistungsstarker Open-Source-Medienserver, mit dem Sie Ihre Mediensammlungen nahtlos verwalten und streamen können. Er unterstützt eine Vielzahl von Medienformaten und bietet Funktionen wie Live-TV-Unterstützung, DVR-Funktionalität und umfassende Metadatenverwaltung. Jellyfin bietet eine intuitive webbasierte Benutzeroberfläche und Anwendungen für verschiedene Geräte, sodass Sie von überall auf Ihre Medien zugreifen können.

Um Jellyfin auf Linux Mint 22, 21 oder 20 zu installieren, können Sie das offizielle APT-Repository von Jellyfin verwenden, das die neuesten stabilen und Entwicklungs-Builds enthält. Diese Anleitung führt Sie mithilfe des Befehlszeilenterminals durch den Installationsprozess.

Aktualisieren Sie Linux Mint vor der Installation des Jellyfin Media Servers

Bevor Sie den Jellyfin Media Server auf Ihrem Linux Mint-Betriebssystem installieren, müssen Sie unbedingt sicherstellen, dass alle Pakete auf dem neuesten Stand sind. Durch die Aktualisierung Ihres Betriebssystems wird sichergestellt, dass alle aktuellen Pakete auf dem neuesten Stand sind, und Sie können Kompatibilitätsprobleme mit Jellyfin vermeiden.

Um Ihr Linux Mint-Betriebssystem zu aktualisieren, öffnen Sie das Terminal und führen Sie den folgenden Befehl aus:

sudo apt update && sudo apt upgrade

Dieser Befehl aktualisiert alle Pakete Ihres Systems auf die neuesten Versionen und stellt sicher, dass Ihr System auf dem neuesten Stand ist.

Installieren Sie die erforderlichen Pakete für den Jellyfin Media Server

Nach der Aktualisierung Ihres Linux Mint-Betriebssystems müssen Sie die erforderlichen Pakete installieren, um den Jellyfin Media-Server zu installieren. Die erforderlichen Pakete können je nach Ihrer Linux Mint-Distribution und -Version variieren.

Um die erforderlichen Pakete zu installieren, öffnen Sie das Terminal und führen Sie den folgenden Befehl aus:

sudo apt install software-properties-common apt-transport-https ca-certificates curl

Dieser Befehl installiert die erforderlichen Pakete, darunter apt-transport-https, ca-certificates, gnupg2 und curl.

Importieren Sie den GPG-Schlüssel des Jellyfin-Medienservers

Um den Jellyfin Media Server unter Linux Mint zu installieren, importieren Sie den Jellyfin GPG-Schlüssel und das Repository, da sich die Software nicht im Standardrepository befindet. Diese Aktion überprüft die Authentizität und Integrität des Pakets.

Importieren Sie zunächst den GPG-Schlüssel, indem Sie den folgenden Befehl im Terminal ausführen:

curl -fsSL https://repo.jellyfin.org/ubuntu/jellyfin_team.gpg.key | sudo gpg --dearmor -o /usr/share/keyrings/jellyfin.gpg > /dev/null

Dieser Befehl lädt den GPG-Schlüssel von der Jellyfin-Website herunter und fügt ihn dem Schlüsselbund Ihres Systems hinzu, sodass Sie die Authentizität des Pakets während der Installation überprüfen können.

Jellyfin Media Server APT-Repository importieren

Importieren Sie als Nächstes entweder das stabile oder das instabile Jellyfin-Repository. Wir empfehlen den meisten Benutzern das stabile Repository, da es gründlich getestet wurde und seine Stabilität bewiesen ist. Importieren Sie das stabile Repository mit einem der folgenden Befehle:

Stabiles JellyFin-Repository importieren:

Fügen Sie den stabilen JellyFin Media Server für die Linux Mint 22-Distributionsreihe hinzu:

echo "deb [arch=$( dpkg --print-architecture ) signed-by=/usr/share/keyrings/jellyfin.gpg] https://repo.jellyfin.org/ubuntu noble main" | sudo tee /etc/apt/sources.list.d/jellyfin.list

Fügen Sie den stabilen JellyFin Media Server für die Linux Mint 21-Distributionsreihe hinzu:

echo "deb [arch=$( dpkg --print-architecture ) signed-by=/usr/share/keyrings/jellyfin.gpg] https://repo.jellyfin.org/ubuntu jammy main" | sudo tee /etc/apt/sources.list.d/jellyfin.list

JellyFin Media Server stabil für die Linux Mint 20-Distributionsreihe hinzufügen:

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

Hinweis: Es ist wichtig, das richtige Repository für Ihre spezifische Version von Linux Mint zu importieren. Das Importieren des falschen Repository kann dazu führen, dass Jellyfin nicht richtig installiert wird oder nicht wie erwartet funktioniert.

Instabiles JellyFin-Repository unter Linux Mint importieren:

Alternativ können Sie das instabile Repository mit den folgenden Befehlen importieren.

JellyFin Media Server instabil für Linux Mint 22-Distributionsreihe importieren:

echo "deb [arch=$( dpkg --print-architecture ) signed-by=/usr/share/keyrings/jellyfin.gpg] https://repo.jellyfin.org/ubuntu noble unstable" | sudo tee /etc/apt/sources.list.d/jellyfin.list

JellyFin Media Server instabil für Linux Mint 21-Distributionsreihe importieren:

echo "deb [arch=$( dpkg --print-architecture ) signed-by=/usr/share/keyrings/jellyfin.gpg] https://repo.jellyfin.org/ubuntu jammy unstable" | sudo tee /etc/apt/sources.list.d/jellyfin.list

JellyFin Media Server instabil für Linux Mint 20-Distributionsserie importieren:

echo "deb [arch=$( dpkg --print-architecture ) signed-by=/usr/share/keyrings/jellyfin.gpg] https://repo.jellyfin.org/ubuntu focal unstable" | sudo tee /etc/apt/sources.list.d/jellyfin.list

Nachdem Sie ein neues Software-Repository hinzugefügt haben, müssen Sie die Repository-Liste Ihres Systems aktualisieren, damit die neuen Ergänzungen erkannt werden. Führen Sie dazu den folgenden Befehl im Terminal aus:

sudo apt update

Durch Ausführen des Befehls „sudo apt update“ wird die Repository-Liste Ihres Systems aktualisiert, sodass das neu hinzugefügte Repository enthalten ist. Durch dieses Update kann Linux Mint das neue Repository und seinen Inhalt erkennen und Jellyfin Media Server auf Ihrem System installieren.

Schließen Sie die Installation des Jellyfin Media Servers über den APT-Befehl ab

Nach dem Importieren des Jellyfin-Repositorys und des GPG-Schlüssels ist es an der Zeit, den Medienserver auf Ihrem Linux Mint-System zu installieren. Schließen Sie die Installation effizient mit dem folgenden Befehl ab:

sudo apt install jellyfin

Sobald die Installation abgeschlossen ist, startet der Jellyfin-Dienst automatisch. Überprüfen Sie den Status des Jellyfin-Dienstes mit dem folgenden Befehl:

systemctl status jellyfin

Wenn der Jellyfin-Dienst aus irgendeinem Grund nicht gestartet werden kann, können Sie ihn mit dem folgenden Befehl manuell starten:

sudo systemctl start jellyfin

Um sicherzustellen, dass der Jellyfin-Dienst beim Systemstart automatisch gestartet wird, führen Sie den folgenden Befehl aus:

sudo systemctl enable jellyfin

Diese Befehle starten den Jellyfin-Dienst und ermöglichen seinen automatischen Start beim Systemstart.

Ersteinrichtung des Jellyfin Media Servers

Um auf die Jellyfin-Web-Benutzeroberfläche zuzugreifen, müssen Sie Ihren Internetbrowser öffnen und die IP-Adresse Ihres Servers eingeben, gefolgt vom Standardport 8096. Wenn Sie auf den Jellyfin-Server auf derselben installierten Maschine zugreifen, verwenden Sie 127.0.0.1 als IP-Adresse.

Sie können beispielsweise die folgende Adresse in die Adressleiste Ihres Browsers eingeben, um auf die Jellyfin-Web-Benutzeroberfläche zuzugreifen:

http://127.0.0.1:8096

Wenn Sie die obige Adresse eingeben, werden Sie zum Willkommensbildschirm für die erste Servereinrichtung weitergeleitet. Der Einrichtungsbildschirm enthält die erforderlichen Schritte zur ersten Konfiguration von Jellyfin.

Bevorzugte Anzeigesprache

Während der Ersteinrichtung Ihres Jellyfin-Servers werden Sie in der Benutzeroberfläche aufgefordert, Ihre bevorzugte Anzeigesprache auszuwählen.

Sobald Sie Ihre Auswahl getroffen haben, klicken Sie auf das „Weiter ->“ Schaltfläche, um mit dem nächsten Schritt fortzufahren.

Erstellen Sie einen Benutzernamen und ein Passwort für Ihr Jellyfin-Konto

Nachdem Sie Ihre bevorzugte Anzeigesprache ausgewählt haben, werden Sie vom System aufgefordert, einen Benutzernamen und ein Passwort für Ihr Jellyfin-Konto zu erstellen. Ihr Konto gewährt Ihnen Administratorzugriff auf den Jellyfin-Server, wo Sie Medienbibliotheken, Benutzerkonten und Servereinstellungen verwalten können.

Hinweis: Um Ihren Jellyfin-Server effektiv zu schützen, erstellen Sie ein sicheres, eindeutiges Passwort, das Groß- und Kleinbuchstaben, Zahlen und Symbole kombiniert.

Sobald Sie Ihren Benutzernamen und Ihr Passwort erstellt haben, klicken Sie auf das „Weiter ->“ Schaltfläche, um mit dem nächsten Schritt der ersten Servereinrichtung fortzufahren.

Mediatheken

Nachdem Sie Ihr Jellyfin-Konto erstellt haben, besteht der nächste Schritt bei der Einrichtung Ihres Servers darin, Ihre Medienbibliotheken zu konfigurieren. Mit Medienbibliotheken können Sie Ihre Medieninhalte zu Jellyfin hinzufügen und strukturiert organisieren. Sie können mehrere Bibliotheken für verschiedene Medientypen wie Filme, Fernsehsendungen und Musik erstellen.

Um Medieninhalte in Jellyfin zu organisieren und anzuzeigen, fügen Sie Ihre Inhalte zu Medienbibliotheken hinzu. Klicken Sie auf das große „+“ oder „Medienbibliothek hinzufügen“ Schaltfläche auf dem Jellyfin-Dashboard. Mit diesem Klick werden Sie zum Einrichtungsbildschirm der Medienbibliothek weitergeleitet, wo Sie Ihren Medienordner eingeben können.

Das Hinzufügen von Medieninhalten zu Jellyfin ist unkompliziert:

  • Wenn Sie Plex verwendet haben, wird Ihnen der Vorgang bekannt vorkommen.
  • Wählen Sie die Schaltfläche „Medienbibliothek hinzufügen“.
  • Wählen Sie den hinzuzufügenden Medientyp aus: Filme, Fernsehsendungen oder Musik.
  • Folgen Sie den Anweisungen, um Ihren Medienordner einzugeben.
  • Legen Sie die Sprache für die Metadaten fest, die Episodenbeschreibungen, Biografien der Schauspieler und Albumcover bereitstellen.

Nachdem Sie Ihre Medienbibliotheken gefüllt haben, können Sie Inhalte effizient über Jellyfin organisieren und durchsuchen. Klicken Sie auf „Weiter ->“ nach dem Hinzufügen von Medienbibliotheken, um zum Bildschirm „Metadatensprache“ zu gelangen. Wählen Sie hier eine Sprache für die Metadaten Ihres Inhalts aus. Diese Auswahl bereichert Ihren Inhalt mit wertvollen Informationen wie Angaben zu Besetzung und Crew, Handlungszusammenfassungen und Rezensionen.

Bevorzugte Metadatensprache

Nachdem Sie Ihre Medienbibliotheken eingerichtet und Ihre bevorzugte Metadatensprache ausgewählt haben, konfigurieren Sie den Fernzugriff für Ihren Jellyfin-Medienserver. So können Sie Medieninhalte von verschiedenen Standorten oder Geräten aus anzeigen, nicht nur von Ihrem lokalen Netzwerk.

Wenn Sie die gewünschte Metadatensprache ausgewählt haben, klicken Sie auf das „Weiter ->“ Schaltfläche, um fortzufahren.

Jellyfin-Remoteverbindungen aktivieren

Aktivieren Sie den Fernzugriff, indem Sie Verbindungen zu Ihrem Jellyfin-Medienserver zulassen und die automatische Portzuordnung aktivieren. Durch das Zulassen von Fernverbindungen können Sie von jedem Ort mit einer Internetverbindung auf Medieninhalte zugreifen. Gleichzeitig öffnet die automatische Portzuordnung die erforderlichen Ports und stellt sicher, dass eingehender Datenverkehr Ihren Jellyfin-Server erreichen kann.

Sobald Sie den Fernzugriff auf Ihren Jellyfin Media Server konfiguriert haben, klicken Sie auf das „Weiter ->“ Schaltfläche, um fortzufahren.

Weiter zum Jellyfin Dashboard

Sobald Sie die Ersteinrichtung Ihres Jellyfin-Medienservers abgeschlossen haben, bestätigt der folgende Bildschirm, dass der Installationsvorgang abgeschlossen ist und Ihr Server einsatzbereit ist.

Nachdem Sie auf die Jellyfin-Web-Benutzeroberfläche zugegriffen haben, geben Sie den Benutzernamen und das Passwort ein, die Sie während des ersten Einrichtungsvorgangs erstellt haben, und klicken Sie auf die Schaltfläche „Anmelden“. Dadurch gelangen Sie zum Jellyfin-Dashboard, wo Sie auf Ihre Medienbibliotheken zugreifen und Inhalte verwalten können.

Tipps für Erstbenutzer von Jellyfin nach der Anmeldung bei Linux Mint

Sobald Sie sich bei Ihrem Jellyfin-Medienserver angemeldet haben, können Sie auf das Dashboard zugreifen, um Ihre Medienbibliotheken, Benutzer und Servereinstellungen zu verwalten. Hier sind einige Aktionen, die Sie vom Dashboard aus ausführen können:

  • Fügen Sie weitere Medieninhalte hinzu: Sie können Ihrem Jellyfin-Server weitere Medien hinzufügen, indem Sie auf die Schaltfläche „Medienbibliothek hinzufügen“ klicken und den Medientyp auswählen, den Sie hinzufügen möchten, z. B. Filme, Fernsehsendungen oder Musik. Sie müssen die erforderlichen Informationen angeben, z. B. den Namen der Bibliothek, den Speicherort der Mediendateien und alle spezifischen Einstellungen für den Medientyp.
  • Konfigurieren Sie Anpassungen: Sie können das Erscheinungsbild Ihres Jellyfin-Servers anpassen, indem Sie Anpassungen wie Design, Sprache und Metadaten konfigurieren. Klicken Sie auf die Schaltfläche „Dashboard“ und wählen Sie dann die Einstellungen „Allgemein“ oder „Anzeige“, um Änderungen vorzunehmen.
  • Benutzer verwalten: Um den Zugriff auf Ihre Medieninhalte zu verwalten, können Sie Benutzerkonten hinzufügen, entfernen und ändern. Klicken Sie im Dashboard auf die Schaltfläche „Benutzer“ und wählen Sie dann „Benutzer hinzufügen“ oder „Benutzer bearbeiten“, um Änderungen vorzunehmen.

Hier sind einige allgemeine Tipps zur Verwaltung Ihres Jellyfin-Medienservers:

  • Halten Sie es auf dem neuesten Stand: Suchen Sie regelmäßig nach Updates und installieren Sie diese, sobald sie verfügbar sind, um sicherzustellen, dass Ihr Server auf dem neuesten Stand ist.
  • Verwenden Sie Plugins und Erweiterungen: Plugins und Erweiterungen können Ihrem Jellyfin-Server Funktionen hinzufügen, wie zum Beispiel die Unterstützung von Untertiteln oder Fernsteuerung.
Dashboard auf der Web-Benutzeroberfläche des Jellyfin Media Servers unter Linux Mint
Linux Mint mit Jellyfin Media Server-Dashboard auf der Web-Benutzeroberfläche

Fehlerbehebung: Jellyfin-Ersteinrichtung zurücksetzen

Wenn bei der Ersteinrichtung Ihres Jellyfin-Medienservers Probleme auftreten oder Sie aus irgendeinem Grund von vorne beginnen müssen, ist das Zurücksetzen des Einrichtungsvorgangs ein unkomplizierter Vorgang. Indem Sie den Wert „IsStartupWizardCompleted“ in der Datei system.xml ändern und den Jellyfin-Server neu starten, können Sie den anfänglichen Einrichtungsvorgang zurücksetzen und erneut beginnen. Hier sind die folgenden Schritte:

Öffnen Sie die Datei system.xml. Sie können dies tun, indem Sie den folgenden Befehl ausführen:

sudo nano /etc/jellyfin/system.xml

Dieser Befehl öffnet die Datei system.xml im Nano-Texteditor und ermöglicht Ihnen, die Datei zu ändern.

Ändern Sie den Wert „IsStartupWizardCompleted“:

<IsStartupWizardCompleted>true</IsStartupWizardCompleted>

Und ändern Sie es in:

<IsStartupWizardCompleted>false</IsStartupWizardCompleted>

Durch diese Änderung wird der ursprüngliche Einrichtungsvorgang zurückgesetzt, sodass Sie von vorne beginnen können.

Um den Jellyfin-Server neu zu starten, führen Sie den folgenden Befehl aus:

sudo systemctl restart jellyfin

Starten Sie den Setup-Prozess neu: Nachdem Sie den Jellyfin-Server neu gestartet haben, können Sie HTTP://127.0.0.1:8096 erneut aufrufen und den Setup-Prozess neu starten.

Konfigurieren Sie die Berechtigung für Medienlaufwerke für den Jellyfin-Medienserver

Nach der Installation von Jellyfin auf Ihrem Linux Mint-System ist es wichtig, die Berechtigungen für den Medienserver einzurichten, damit dieser auf Ihre Medienverzeichnisse zugreifen und sie lesen kann. Verwenden Sie den Befehl setfacl, der eine detailliertere Zugriffskontrolle bietet als die Befehle chown und chgrp.

Stellen Sie sicher, dass Sie das ACL-Paket installiert haben, bevor Sie Berechtigungen einrichten. Führen Sie den folgenden Befehl aus, um fortzufahren:

sudo apt install acl

Um Jellyfin Zugriff auf Ihr Medienverzeichnis und alle seine Unterverzeichnisse zu gewähren, verwenden Sie den folgenden Befehl mit dem Flag -R (rekursiv):

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

Wenn Sie einzelnen Medienverzeichnissen oder Dateien Berechtigungen zuweisen müssen, verwenden Sie den folgenden Befehl:

sudo setfacl -m u:jellyfin:rx /media/mymediadrive/example-name-of-file-or-directory

Zusätzliche Befehle und Tipps mit Jellyfin

Konfigurieren Sie SSH für Jellyfin und Linux Mint

Wenn Sie remote auf Ihren Linux Mint Jellyfin Media Server zugreifen möchten, ist die Einrichtung eines Secure Shell (SSH)-Tunnels unerlässlich. SSH ist ein Protokoll für sichere Remote-Anmeldung und andere sichere Netzwerkdienste über ein unsicheres Netzwerk.

Um SSH auf Ihrem Linux Mint-Server zu konfigurieren, folgen Sie diesen Schritten:

Installieren Sie den SSH-Server auf Ihrem Linux Mint-Computer mit dem folgenden Befehl:

sudo apt install openssh-server

Stellen Sie nach der Installation des SSH-Servers über einen SSH-Tunnel eine Remoteverbindung zu Ihrem Jellyfin Media Server her. Ersetzen Sie {server-ip-address} durch die IP-Adresse Ihres Servers und geben Sie den folgenden Befehl in Ihr Terminal ein:

ssh {server-ip-address} -L 8096:localhost:8096

Dieser Befehl erstellt einen SSH-Tunnel für den Jellyfin Media Server.

Nachdem Sie den SSH-Tunnel erstellt haben, können Sie über den folgenden Link in Ihrem Webbrowser auf den Jellyfin Media Server zugreifen:

http://localhost:8096/web/index.html#/wizardstart.html

Ein SSH-Tunnel leitet die HTTP-Anfrage an http://localhost:8096/web auf dem Remote-Server um. Nach der ersten Einrichtung können Sie über die IP-Adresse Ihres Remote-Servers unter https://{server-ip-address}:8096 auf Ihren Jellyfin Media Server zugreifen.

Konfigurieren Sie die UFW-Firewall für Jellyfin

Die Konfiguration der UFW-Firewall ist entscheidend, wenn Sie eingehenden und ausgehenden Netzwerkverkehr auf Ihrem Linux Mint-Server verwalten. Im Gegensatz zu Ubuntu aktiviert Linux Mint die UFW-Firewall nicht standardmäßig; Sie müssen sie manuell aktivieren. Durch die Aktivierung der UFW-Firewall können Benutzer nur den erforderlichen Datenverkehr auf ihren Server zulassen.

Verwenden Sie den folgenden Terminalbefehl, um die UFW-Firewall zu aktivieren:

sudo ufw enable

Stellen Sie nach der Aktivierung sicher, dass Sie eingehenden Datenverkehr auf Port 8096 zulassen, da dies für die ordnungsgemäße Funktion des Jellyfin Media Servers von entscheidender Bedeutung ist. Verwenden Sie den folgenden Befehl, um Datenverkehr auf Port 8096 zuzulassen:

sudo ufw allow 8096

Dieser Befehl lässt eingehenden Datenverkehr auf Port 8096 zu Ihrem Server zu und stellt sicher, dass der Jellyfin Media Server ordnungsgemäß funktionieren kann.

Wenn Sie UFW nicht installiert haben, verwenden Sie den folgenden Befehl, um es zu installieren:

sudo apt install ufw

Richten Sie Apache oder Nginx als Reverse-Proxy für Jellyfin Media Server ein

Durch das Einrichten eines Reverse-Proxys für Jellyfin können Sie von einem Remotecomputer oder -netzwerk aus auf den Medienserver zugreifen.

Einrichten von Apache als Reverse-Proxy für Jellyfin

Wenn Sie von einem Remotecomputer oder -netzwerk auf Ihren Jellyfin-Medienserver zugreifen möchten, können Sie mit Apache oder Nginx einen Reverse-Proxy einrichten. Die Anleitung beschreibt die Einrichtung von Apache als Reverse-Proxy unter Linux Mint.

Installieren Sie zunächst den Apache-Webserver mit dem folgenden Befehl:

sudo apt install apache2

Standardmäßig sollte Apache aktiviert sein. Wenn nicht, aktivieren Sie es mit dem folgenden Befehl:

sudo systemctl start apache2

Erstellen Sie als Nächstes mit einem Texteditor eine neue virtuelle Host-Konfigurationsdatei für Jellyfin. Sie können beispielsweise den Nano-Editor wie folgt verwenden:

sudo systemctl enable apache2

Aktivieren Sie anschließend die erforderlichen Module mit dem folgenden Befehl:

sudo a2enmod proxy proxy_http headers proxy_wstunnel

Erstellen Sie mit dem folgenden Befehl eine neue virtuelle Host-Konfigurationsdatei für Jellyfin:

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

Um eine Subdomain zu erstellen, müssen Sie einen aktiven Domainnamen haben. Eine Möglichkeit, einen Domainnamen zu kaufen, ist NameCheap, wo Domains für nur 1 bis 2 US-Dollar erhältlich sind. Wenn Sie eine .com-Domain bevorzugen, können Sie alternativ Cloudflare verwenden.

Nachdem Sie Ihre Subdomäne erstellt haben, können Sie mit den folgenden Schritten einen virtuellen Host mit Apache einrichten:

<VirtualHost *:80>
    ServerName jellyfin.example.com

    # Redirect HTTP to HTTPS
    Redirect permanent / https://jellyfin.example.com

    ErrorLog /var/log/apache2/jellyfin-error.log
    CustomLog /var/log/apache2/jellyfin-access.log combined
</VirtualHost>

<IfModule mod_ssl.c>
<VirtualHost *:443>
    ServerName jellyfin.example.com

    DocumentRoot /var/www/html/jellyfin/public_html

    ProxyPreserveHost On

    ProxyPass "/socket" "ws://localhost:8096/socket"
    ProxyPassReverse "/socket" "ws://localhost:8096/socket"

    ProxyPass "/" "http://localhost:8096/"
    ProxyPassReverse "/" "http://localhost:8096/"

    SSLEngine on
    SSLCertificateFile /etc/letsencrypt/live/jellyfin.example.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/jellyfin.example.com/privkey.pem
    Protocols h2 http/1.1

    SSLCipherSuite HIGH:RC4-SHA:AES128-SHA:!aNULL:!MD5
    SSLHonorCipherOrder on

    SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1

    ErrorLog /var/log/apache2/jellyfin-error.log
    CustomLog /var/log/apache2/jellyfin-access.log combined
</VirtualHost>
</IfModule>

Speichern Sie die Datei (STRG+O) und beenden Sie sie dann (STRG+X).

Um sicherzustellen, dass die Apache-Konfiguration oder die virtuelle Hostdatei keine Fehler enthält, können Sie vor der Aktivierung des virtuellen Hosts mit dem folgenden Befehl einen „Trockenlauf“ durchführen:

sudo apache2ctl configtest

Nachdem Sie mit dem vorherigen Befehl die Apache-Konfigurationssyntax auf Syntaxfehler überprüft haben, können Sie mit der Aktivierung des virtuellen Hosts mit dem folgenden Befehl fortfahren:

sudo a2ensite jellyfin.conf

Durch das Erstellen eines symbolischen Links vom Verzeichnis sites-available zum Verzeichnis sites-enabled kann Apache den virtuellen Host über den vorherigen Befehl bedienen. Nachdem Sie den virtuellen Host aktiviert haben, starten Sie Apache neu, um die Änderungen anzuwenden.

Führen Sie dazu den folgenden Befehl aus:

sudo systemctl restart apache2

Der Befehl stoppt und startet den Apache-Dienst, wendet die neuen virtuellen Hosteinstellungen an und lädt die Konfiguration mit den aktualisierten Änderungen neu.

Einrichten von Nginx als Reverse-Proxy für Jellyfin und Linux Mint

Nginx kann als Reverse-Proxy fungieren, um den Fernzugriff auf Ihren Jellyfin-Medienserver zu ermöglichen. Nginx ist ein leichter und leistungsstarker Webserver, der häufig für diesen Zweck verwendet wird.

Um Nginx zu installieren, verwenden Sie den folgenden Befehl:

sudo apt install nginx

Starten Sie als Nächstes den Nginx-Dienst mit dem folgenden Befehl:

sudo systemctl start nginx

Führen Sie den folgenden Befehl aus, um sicherzustellen, dass Nginx aktiviert ist:

sudo systemctl enable nginx

Dieser Befehl startet den Nginx-Dienst und stellt sicher, dass er beim Booten automatisch startet.

Beispielausgabe bei Erfolg:

Synchronizing state of nginx.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable nginx

Um den Status von Nginx zu überprüfen, verwenden Sie den folgenden Befehl:

systemctl status nginx

Sobald Sie bestätigt haben, dass Nginx ordnungsgemäß ausgeführt wird, können Sie unter /etc/nginx/conf.d/jellyfin.conf eine neue Serverblockdatei erstellen. In diesem Beispiel verwenden wir die Subdomäne jellyfin.example.com.

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

Um Nginx als Reverse-Proxy zu konfigurieren, müssen Sie unter /etc/nginx/conf.d/jellyfin.conf eine Server-Blockdatei mit den folgenden Anweisungen einrichten:

  • Die Listen-Direktive legt den Port und die Adresse fest, auf denen Nginx lauschen soll. Für dieses Beispiel wird Port 80 verwendet.
  • Die Direktive server_name legt den Hostnamen oder Domänennamen fest, auf den Nginx hören soll. Ersetzen Sie jellyfin.example.com durch Ihren Domänennamen.
  • Die Anweisungen access_log und error_log: Diese legen die Speicherorte für die Zugriffs- und Fehlerprotokolle fest.
  • Die Standortdirektiven: Diese definieren, wie Nginx eingehende Anfragen behandeln soll.

Standortdirektiven konfigurieren den Proxy_Pass, um Anfragen von Nginx an Jellyfin weiterzuleiten. Der Proxy_Pass legt das Protokoll und die Adresse des Upstream-Servers (Jellyfin-Server) fest und lauscht auf Port 8096. Die Standortdirektive definiert, wie Nginx eingehende Anfragen verwalten soll, und behandelt Anfragen für die Stamm-URL (/), das Verzeichnis /web/ und das Verzeichnis /socket.

Hier ist ein Beispiel für eine Server-Blockdatei:

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;
    }
}

Speichern Sie die Datei (STRG+O) und beenden Sie sie dann (STRG+X).

Stellen Sie vor dem Fortfahren sicher, dass die Nginx-Konfiguration als Reverse-Proxy für Jellyfin fehlerfrei ist. Führen Sie zur Überprüfung einen Probelauf mit dem folgenden Befehl durch:

sudo nginx -t

Dieser Befehl testet die Konfigurationsdatei auf Syntaxfehler und andere Probleme. Wenn alles richtig funktioniert, sollte die Ausgabe wie folgt zeigen, dass die Konfigurationsdatei in Ordnung ist und der Test erfolgreich war:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Um die Änderungen auf Nginx anzuwenden, müssen Sie den Dienst neu laden. Sie können dies tun, indem Sie den folgenden Befehl ausführen:

sudo systemctl reload nginx

Nachdem Sie Nginx ausreichend als Reverse-Proxy für Jellyfin konfiguriert und Ihre Domänen- und DNS-Einträge so eingerichtet haben, dass sie auf Ihre Server-IP verweisen, können Sie nun unter jellyfin.example.com auf Ihren Jellyfin-Medienserver zugreifen. Da Nginx als Vermittler fungiert, können Remote-Benutzer nun auf Jellyfin zugreifen, indem sie die Subdomäne besuchen, und Nginx leitet ihre Anfragen an die Weboberfläche von Jellyfin weiter.

Erstellen Sie ein kostenloses Let’s Encrypt SSL-Zertifikat für Jellyfin

In diesem Abschnitt erfahren Sie, wie Sie Ihren Apache- oder Nginx-Server mit einem kostenlosen Let’s Encrypt SSL-Zertifikat sichern. Ein SSL-Zertifikat stellt sicher, dass die Kommunikation zwischen dem Browser des Benutzers und dem Server sicher ist. Daher ist es ideal für den Betrieb Ihres Servers auf HTTPS.

Um das Certbot-Paket zu installieren, müssen Sie den von Ihnen installierten Reverse-Proxy abgleichen. Wenn Sie Apache verwenden, müssen Sie python3-certbot-apache installieren. Wenn Sie Nginx verwenden, müssen Sie python3-certbot-nginx installieren.

Installieren Sie Certbot für Apache:

sudo apt install python3-certbot-apache

Installieren Sie Certbot für Nginx:

sudo apt install python3-certbot-nginx

Um Apache oder Nginx mit einem kostenlosen SSL-Zertifikat von Let’s Encrypt zu sichern, müssen Sie das Certbot-Paket installieren, das zu dem von Ihnen installierten Reverse-Proxy passt. Wenn Sie Apache verwenden, installieren Sie python3-certbot-apache; für Nginx installieren Sie python3-certbot-nginx.

Führen Sie nach der Installation den Befehl certbot aus, um ein Zertifikat zu erstellen. Der Befehl hat Optionen wie –Apache oder –nginx, abhängig von Ihrem Reverse-Proxy, sowie –agree-tos, –redirect, –hsts und –staple-ocsp. Diese Optionen helfen beim Einrichten von 301-Weiterleitungen, einem Strict-Transport-Security-Header und OCSP-Stapling und sorgen so für eine sichere Einrichtung. Denken Sie daran, die E-Mail-Adresse und den Domänennamen durch Ihre Anforderungen zu ersetzen.

Führen Sie Certbot für Apache für Jellyfin aus:

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d jellyfin.example.com

Führen Sie Certbot für Nginx für Jellyfin aus:

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d jellyfin.example.com

Beim Erstellen des SSL-Zertifikats ändert sich die URL von HTTP zu HTTPS. Um eine automatische Zertifikatserneuerung zu gewährleisten, sollten Benutzer einen Cron-Job einrichten, der täglich Prüfungen durchführt. Certbot bietet ein Skript für die automatische Zertifikatserneuerung an. Benutzer sollten das Skript vor dem Einrichten des Cron-Jobs mit einem Probelauf testen. Dazu verwenden sie den folgenden Befehl:

sudo certbot renew --dry-run

Nach der Bestätigung des erfolgreichen Probelaufs kann der Benutzer einen Cron-Job einrichten, um den Zertifikatserneuerungsprozess zu automatisieren. Dazu kann der Benutzer den folgenden Befehl verwenden:

sudo crontab -e

Dieser Befehl öffnet die Cron-Tabelle des Benutzers im Bearbeitungsmodus. Anschließend kann der Benutzer die folgende Zeile am Ende der Datei hinzufügen, um eine tägliche Erneuerungsprüfung um 2:30 Uhr einzuplanen:

30 2 * * * /usr/bin/certbot renew --quiet

Sobald der Benutzer die Datei speichert und schließt, überprüft cron die Zertifikate automatisch täglich und erneuert sie bei Bedarf.

Jellyfin Media Server aktualisieren

Um Ihren Jellyfin Media Server zu aktualisieren, können Sie die Standard-apt-Befehle verwenden, genau wie Sie es für jedes andere Paket auf Ihrem System tun würden. Dies macht die Aktualisierung von Jellyfin einfach.

Um nach Updates zu suchen, führen Sie den folgenden Befehl aus:

sudo apt update

Wenn Updates verfügbar sind, führen Sie den Upgrade-Befehl aus:

sudo apt upgrade

Jellyfin Media Server entfernen

Um Jellyfin von Ihrem System zu deinstallieren, können Sie den folgenden Befehl verwenden:

sudo remove install jellyfin

Um versehentliche Neuinstallationen von Jellyfin in der Zukunft zu verhindern, wird empfohlen, das Jellyfin-Repository von Ihrem System zu entfernen.

Führen Sie zum Entfernen den folgenden Befehl aus:

sudo rm /etc/apt/sources.list.d/jellyfin.list

Dieser Befehl entfernt die Repository-Datei für Jellyfin aus dem Verzeichnis sources.list.d und verhindert so zukünftige Updates oder Installationen von Jellyfin.

Abschluss

Wenn Jellyfin erfolgreich auf Ihrem Linux Mint-System installiert ist, können Sie Ihre Mediensammlungen effizient verwalten und streamen. Durch die Verwendung des offiziellen APT-Repositorys von Jellyfin bleiben Sie mit den neuesten stabilen und Entwicklungs-Builds auf dem neuesten Stand und haben Zugriff auf die neuesten Funktionen und Verbesserungen. Genießen Sie die Flexibilität und robuste Funktionalität, die Jellyfin als Ihre Medienserverlösung bietet.

Joshua James
Folgen Sie mir
Letzte Artikel von Joshua James (Alle anzeigen)

1 Gedanken zu „How to Install Jellyfin Media Server on Linux Mint 22, 21 or 20“

Hinterlasse einen Kommentar