Zum Inhalt

Jellyfin, Eure Netflix- & Spotify–Alternative

Jellyfin Jellyfin

Jellyfin ist eine selbstgehostete Medien-Platform für Euren Ubuntu-Server. Streamt Filme, Fernsehsendungen und Musik direkt auf Euren Geräten. Jellyfin ist kostenfrei, quelloffen, schnell und benutzerfreundlich. Es unterstützt Live-TV, Metadatenverwaltung, Plugins, verschiedene Clients und mehr.

Dieses Kapitel setzt voraus, dass Ihr Euren Homeserver bereits eingerichtet, grundlegende und fortgeschrittene Sicherheitsmaßnahmen umgesetzt und einen sicheren Fernzugriff konfiguriert habt.

Installation

Jellyfin ist vergleichsweise einfach zu installieren, folgt dazu den untenstehenden Anweisungen.

Schritt-für-Schritt-Anleitung

Meldet Euch auf dem Server an und führt die folgenden Befehle aus, um die Paketquelle hinzuzufügen und Jellyfin zu installieren:

sudo apt install apt-transport-https
sudo apt-get install software-properties-common
sudo add-apt-repository universe
curl -fsSL https://repo.jellyfin.org/ubuntu/jellyfin_team.gpg.key | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/debian-jellyfin.gpg
sudo echo "deb [arch=$( dpkg --print-architecture )] https://repo.jellyfin.org/ubuntu $( lsb_release -c -s ) main" | sudo tee /etc/apt/sources.list.d/jellyfin.list
sudo apt update
sudo apt install jellyfin

Startet Jellyfin und vergewissert Euch, dass der Status Active ist:

sudo systemctl start jellyfin
sudo systemctl status jellyfin


Jellyfin Konfiguration

Konfiguration

Jellyfin wurde erfolgreich installiert! Konfiguriert nun die Nutzerverwaltung, Spracheinstellungen, Autostart, usw.

Schritt-für-Schritt-Anleitung

Autostart

Stellt sicher, dass Jellyfin bei jedem Server-Neustart automatisch ausgeführt wird:

sudo systemctl daemon-reload
sudo systemctl enable jellyfin

Startet den Server neu:

sudo reboot

Vergewissert Euch, dass Jellyin läuft (der Status muss Active sein):

sudo systemctl status jellyfin

Ersteinrichtung

Wir werden auf Jellyfins Weboberfläche zugreifen, um die Ersteinrichtung durchzuführen. Dazu muss vorübergehend der Port 8096 in der Firewall geöffnet werden:

sudo ufw allow 8096/tcp

Ruft nun http://192.168.1.100:8096 auf (passt die IP-Adresse entsprechend an) und folgt dem Einrichtungsassistenten:

Anweisungen Beschreibung
Bevorzugte Anzeigesprache Wählt Eure bevorzugte Sprache, z.B. Deutsch.
Benutzername Gebt einen Benutzernamen für den Jellyfin-Administrator an. Für die Zwecke dieses Tutorials nennen wir den Administratoren jellyfinadmin. Ihr könnt selbstverständlich jeden beliebigen Namen wählen, stellt allerdings sicher, dass Ihr die Befehle entsprechend anpasst.
Passwort Wählt ein sicheres, individuelles Passwort für den Jellyfin-Administrator.
Medienbibliotheken hinzufügen Ihr könnt Musik, Filme oder Fernsehsendungen zu Jellyfin hinzufügen, während der Ersteinrichtung oder zu einem späteren Zeitpunkt über das Dashboard. Die Medien sollten dabei direkt auf dem Server gespeichert sein, oder auf einem mit dem Server verbundenen Laufwerk, oder aber auf einem im Betriebssystem eingehängten Netzwerkspeichergerät.
Bevorzugte Metadatensprache auswählen Wählt Eure bevorzugte Sprache, z.B. Deutsch.
Fernverbindungen zum Jellyfin-Server zulassen Nein.

Sobald die Ersteinrichtung abgeschlossen ist, schließt den Port 8096:

sudo ufw delete allow 8096/tcp


Jellyfin Weboberfläche

Weboberfläche

Richtet einen Apache Virtual Host als Reverse Proxy ein, um über eine eigene Adresse auf die Jellyfin-Weboberfläche zuzugreifen und den Server nicht direkt dem Internet auszusetzen. Weitere Details findet Ihr nachstehend.

Schritt-für-Schritt-Anleitung

Erstellt eine Apache-Konfigurationsdatei:

sudo vi /etc/apache2/sites-available/mymedia.gofoss.duckdns.org.conf

Fügt den folgenden Inhalt hinzu und passt die Einstellungen an Eure eigene Konfiguration an, z. B. den Domain-Namen (mymedia.gofoss.duckdns.org), den Pfad zu den SSL-Schlüsseln, die IP-Adressen und so weiter:

<VirtualHost *:80>

  ServerName mymedia.gofoss.duckdns.org
  ServerAlias www.mymedia.gofoss.duckdns.org
  Redirect permanent / https://mymedia.gofoss.duckdns.org/

</VirtualHost>

<VirtualHost *:443>

  ServerName  mymedia.gofoss.duckdns.org
  ServerAlias www.mymedia.gofoss.duckdns.org
  ServerSignature Off

  <IfModule security2_module>
      SecRuleEngine Off
  </IfModule>

  SSLEngine On
  SSLCertificateFile  /etc/dehydrated/certs/gofoss.duckdns.org/fullchain.pem
  SSLCertificateKeyFile /etc/dehydrated/certs/gofoss.duckdns.org/privkey.pem
  DocumentRoot /var/www

  <Location />
    Order deny,allow
    Deny from all
    Allow from 127.0.0.1
    Allow from 192.168.1.0/24
    Allow from 10.8.0.1/24
  </Location>

  ProxyPreserveHost On
  ProxyPass "/socket" "ws://127.0.0.1:8096/socket"
  ProxyPassReverse "/socket" "ws://127.0.0.1:8096/socket"
  ProxyPass "/" "http://127.0.0.1:8096/"
  ProxyPassReverse "/" "http://127.0.0.1:8096/"

  ErrorLog ${APACHE_LOG_DIR}/mymedia.gofoss.duckdns.org-error.log
  CustomLog ${APACHE_LOG_DIR}/mymedia.gofoss.duckdns.org-access.log combined

</VirtualHost>

Speichert und schließt die Datei (:wq!).

Beachtet, dass die SSL-Verschlüsselung für Jellyfin mit der Anweisung SSLEngine On aktiviert und das zuvor erstellte SSL-Zertifikat /etc/dehydrated/certs/gofoss.duckdns.org/fullchain.pem sowie der private SSL-Schlüssel /etc/dehydrated/certs/gofoss.duckdns.org/privkey.pem verwendet wurden.

Beachtet ebenfalls, dass ModSecurity in der Apache-Konfigurationsdatei mit der Anweisung SecRuleEngine Off deaktiviert wurde, da Jellyfin und ModSecurity nicht gut miteinander harmonieren.

Aktiviert als nächstes den Apache Virtual Host und ladet Apache neu:

sudo a2ensite mymedia.gofoss.duckdns.org.conf
sudo systemctl reload apache2

Konfiguriert Pi-Hole, um die lokale Adresse von Jellyfin nutzen zu können. Ruft dazu https://mypihole.gofoss.duckdns.org auf und meldet Euch über die Pi-Hole-Weboberfläche an (passt die URL entsprechend an). Öffnet den Menüeintrag Locale DNS Records und fügt die folgende Domain/IP-Kombination hinzu (passt wiederum die URL sowie IP entsprechend an):

DOMAIN:      mymedia.gofoss.duckdns.org
IP ADDRESS:  192.168.1.100

Ruft https://mymedia.gofoss.duckdns.org auf und meldet Euch als jellyfinadmin an (passt den Benutzernamen entsprechend an).


Jellyfin Clients

Clients

Jellyfin unterstützt verschiedene Clients für Desktop-, TV- oder Mobilgeräte. Wählt eine der offiziellen Apps oder einen Drittanbieter-Client aus und befolgt die Installationsanweisungen.


Jellyfin BenutzerInnen anlegen

BenutzerInnen

Jellyfin unterscheidet zwischen zwei Nutzertypen. AdministratorInnen haben vollen Zugriff, um Medien und Nutzer zu verwalten. Außerdem können sie Jellyfin warten und aktualisieren. In unserem Beispiel wurde das Administratorkonto jellyfinadmin während der Installation angelegt. BenutzerInnen hingegen haben eingeschränkten Zugriff und können Medien entsprechend ihrer Zugriffsrechte nutzen.

Schritt-für-Schritt-Anleitung

Anweisungen Beschreibung
Anmelden Ruft https://mymedia.gofoss.duckdns.org auf und meldet Euch als Administrator an, z.B. jellyfinadmin (passt den Admin-Namen entsprechend an).
Einstellungen Sucht den Eintrag Menü ‣ Übersicht ‣ Benutzer ‣ Benutzer hinzufügen auf.
BenutzerInnen hinzufügen Gebt einen Benutzernamen sowie ein sicheres, individuelles Passwort an. Klickt anschließend auf Speichern. Legt zugleich fest, auf welche Bibliotheken die BenutzerInnen zugreifen können.
Nutzerrechte festlegen Optional können weitere Einstellungen festgelegt werden, wie z.B.:
• Administratoren-Rechte
• Live TV Zugriff
• Transkodierung
• Eingeschränkte Internetgeschwindigkeit
• Erlaubnis, Medien zu löschen
• Fernsteuerung
• Kontosperrung
• Zugriff auf Bibliotheken und Geräte
• Kindersicherung
• Pin-Code

Administratoren & BenutzerInnen benötigen einen VPN-Zugang

BenutzerInnen müssen über VPN mit dem Server verbunden sein, um auf Jellyfin zugreifen zu können.


Jellyfin Untertitel

Untertitel

Jellyfin unterstützt eingebettete und externe Untertitel. Mit dem Open-Subtitle-Plugin kann Jellyfin Untertitel automatisch herunterladen.

Schritt-für-Schritt-Anleitung

Instructions Description
Anmelden Ruft https://mymedia.gofoss.duckdns.org auf und meldet Euch als Administrator an, z.B. jellyfinadmin (passt den Admin-Namen entsprechend an).
Plugin installieren Sucht den Eintrag Menü ‣ Übersicht ‣ Plugins ‣ Alle ‣ Open Subtitles auf und klickt auf Installieren.
Neustarten Sucht den Eintrag Menü ‣ Übersicht auf und klickt auf Neustarten.
Plugin konfigurieren Das Open Subtitle Plugin benötigt grundsätzlich kein Konto, um Untertitel herunterladen. Falls dennoch erwünscht, könnt Ihr optional auf https://www.opensubtitles.org ein Konto einrichten. Ruft in diesem Fall anschließend den Eintrag Menü ‣ Übersicht ‣ Plugins ‣ Open Subtitles auf und gebt Eure Open Subtitle-Benutzerdaten an.
Einstellungen Sucht den Eintrag Menü ‣ Bibliotheken ‣ Filme oder Serien ‣ Bibliothek verwalten auf und legt weitere Einstellungen im Abschnitt Untertitel Downloads fest:

• Herunterzuladende Sprachen
• Untertitel Downloader
• Download je nach Dateiname oder Ton überspringen
• Speicherort für Untertitel
Untertitel herunterladen Jellyfin lädt von selbst regelmäßig fehlende Untertitel herunter. Um manuell einen Download zu starten, ruft den Eintrag Menü ‣ Übersicht ‣ Geplante Aufgaben auf und klickt auf Fehlende Untertitel herunterladen.


Best Linux media server

Plugins und Themes

Die Jellyfin-Gemeinschaft hat eine Vielzahl von Plugins entwickelt, um Episodenlisten anzuzeigen, Intros zu überspringen, Sendezeiten anzugeben, Discord oder Telegram zu integrieren und vieles mehr. Ihr könnt auch Themes installieren, um das Erscheinungsbild von Jellyfin anzupassen.


Jellyfin Upgrade

Upgrade

Ubuntus Paketmanager aktualisiert Jellyfin automatisch auf neue Versionen. Für ein manuelles Upgrade folgt den untenstehenden Anweisungen.

Schritt-für-Schritt-Anleitung

Meldet Euch auf dem Server an und führt den folgenden Befehl aus:

sudo apt update && sudo apt upgrade

Startet anschließend Jellyfin neu und vergewissert Euch, dass alles richtig läuft (der Status sollte "Active" sein):

sudo systemctl restart jellyfin
sudo systemctl status jellyfin


Jellyfin Unterstützung

Unterstützung

Weitere Einzelheiten findet Ihr in der Jellyfin Dokumentation oder Gemeinschaft.