Einen Jellyfin Media Server mit Docker installieren (Tutorial)

Jellyfin: Installation und Konfiguration unter Docker mit dem offiziellen Container-Image

In dieser Anleitung zeige ich euch, wie die Open-Source-Software „Jellyfin“ auf eurem Server installiert werden kann. Du kannst den Jellyfin Media Server entweder direkt auf einem Linux-Hostsystem installieren oder im Container mit der Software Docker laufen lassen. Wir entscheiden uns in dieser Anleitung für die Installation mit dem Docker-Image.

Grundsätzlich sind beide Installationswege keine große Sache, wie ich dir in dieser Schritt-für-Schritt-Anleitung zeigen werde. Möchtest du Jellyfin ohne Docker z.B. für Linux Debian oder Ubuntu installieren, kannst du das Tutorial von mir verwenden: Installation für Linux-Hostsysteme. Bevor wir einsteigen und die Software installieren, möchte ich die Gelegenheit nutzen, um euch ein paar Worte über die kostenlose Alternative zu Emby und Plex erzählen.

Jellyfin ist kostenlos!

Mit Jellyfin lässt sich ein Media-Center mit eigenen Mediatheken anlegen. Die Plattform erlaubt das Streaming von Videos und Musik von deinem Heimnetz aus über das Internet, egal wo du dich gerade befindest. Im Vergleich zu den Alternativen und den äußerst populären Streaming-Plattformen Emby und Plex, die beide nicht vollumfänglich kostenlos verwendet werden können (Freemium-Modelle), ist die Open-Source-Software Jellyfin tatsächlich ohne Einschränkungen und komplett kostenlos verwendbar.

Nach der erfolgreichen Installation von Jellyfin kann der Streaming-Server über einen Browser aufgerufen werden. In einer benutzerfreundlichen Weboberfläche erhältst du die Möglichkeit, Mediatheken anzulegen und deine Medien abzuspielen. Für Smartphones und Smart-TVs sind kostenlose Apps in den Stores erhältlich, die uns denselben Komfort wie die großen Streaming-Anbieter-Anwendungen bieten. Einer der größten Vorteile im Vergleich zu den anderen Media-Server-Applikationen ist die Einbindung von IP-TV über das Wiedergabelisten-Format-M3U.

Inhaltsverzeichnis: Jellyfin Media-Server mit dem aktuellen Docker-Image als Container installieren und einrichten

Was erledigen wir in dieser Anleitung?

In diesem Tutorial für die Installation eines Jellyfin-Media-Servers möchte ich euch zeigen, wie die Software in einem Container unter Docker installiert und ausgeführt werden kann. Auf dieser Weise lässt sich die Installation von Jellyfin auch für Anfänger sehr einfach umsetzen. Ich habe die Anleitung in einfachen Schritten unterteilt, die dich bei dem Installationsprozess unterstützen.

Vorbereitungen und Abhängigkeiten: Jellyfin nach diesem Tutorial installieren

Unabhängig davon, ob Docker und die quelloffene Mediaserver-Software in einem Linux-Container (LXC), direkt auf deinem Hostsystem oder in eine VM installiert wird, empfehle ich ein System mit mindestens 2 CPU-Kernen und 4 GB Arbeitsspeicher. Erfolgen mehrere Zugriffe auf die Medien deines Servers zur gleichen Zeit, kann die Leistung nicht abgerufen werden und deine Medien werden mit Ruckeln und Stopps wiedergegeben, sollte das System über nicht genügend Leistung verfügen. Ich gewähre meinen Server sogar 4-Kerne und 16GB-RAM.

Aktualisiere zuerst die Paketquellen, noch bevor du mit der Installation beginnst, damit du von möglichen Updates profitierst und keine veraltete Software auf deinem Server installiert wird.

Aktualisierungen durchführen:

apt-get upgrade && apt-get upgrade

Hinweis: Verwendest du eine Linux Ubuntu Distribution, müssen alle Befehle mit dem sudo-Prompt ausgeführt werden. Du kannst für den Installationsprozess auf den Benutzer „root“ wechseln, um alle Befehle aus dieser Anleitung direkt übernehmen zu können. Auf Linux Debian ist dieser Schritt nicht notwendig.

Docker installieren und einen Benutzer für die Ausführung des Containers anlegen

Der einfachste Weg, die Software Jellyfin in einem Container unter Docker zu installieren, bietet uns die Installation über das von Jellyfin offiziell herausgegebene Docker-Image. Welches wir innerhalb von wenigen Minuten auf dem eigenen Server implementieren können. Wir beginnen zunächst mit der Installation von Docker über das Installationsskript.

Docker auf deinem System herunterladen:

curl -fsSL https://get.docker.com -o get-docker.sh

Das Skript für die Installation ausführbar machen:

chmod +x get-docker.sh

Die Software Docker unter Linux installieren:

sh ./get-docker.sh

Sobald Docker erfolgreich installiert wurde, erstellen wir einen neuen Benutzer und fügen diesen in die Gruppe der Docker-Benutzer hinzu. Dieser Schritt ist sicherheitsrelevant, da wir vermeiden möchten, dass ausschließlich der Root-Benutzer Zugriff auf den Dienst hat.

Einen neuen Benutzer erstellen:

adduser jellyfin

Den Benutzer in die Docker-Gruppe hinzufügen:

usermod -aG docker jellyfin

Die Software Jellyfin mit dem offiziellen Docker-Image installieren

Zunächst wechseln wir auf den soeben erstellen Benutzer für die Installation und Verwaltung unseres Jellyfin-Containers unter Docker. Dann laden wir die aktuellste Version des Media-Servers auf unserem Docker-Hostsystem herunter.

Benutzer wechseln:

su jellyfin

Das neuste Jellyfin-Docker-Image herunterladen:

docker pull jellyfin/jellyfin

Da alle gespeicherten Daten im Container nur temporär gespeichert werden und nach einem Neustart wieder verschwinden würden, legen wir Verzeichnisse für den Cache und für die Konfiguration an. Anschließend geben wir unseren Docker-Benutzer die volle Berechtigung auf die Verzeichnisse, damit der installierte Jellyfin-Server Dateien in die Verzeichnisse schreiben kann.

Ein Verzeichnis für die Konfiguration erstellen:

mkdir -p /srv/jellyfin/config

Ein Verzeichnis für den Cache anlegen:

mkdir -p /srv/jellyfin/cache

Berechtigungen für den Docker-Benutzer auf die Verzeichnisse erteilen:

chown -R jellyfin:jellyfin /srv/jellyfin

Nun sind alle Vorbereitungen für die Installation abgeschlossen, sodass wir im nächsten Schritt den Jellyfin-Container implementieren können. Einige Änderungen müssen von dir angepasst werden, bevor du den Docker-Befehl für den Start ausführst. Aber keine Sorge, ich werde dir das Notwendigste erklären.

Kopiere den folgenden Inhalt und füge ihn in eine leere Textdatei ein:

docker run -d \
--name jellyfin \
--user 1000:1000 \
--net=host \
--volume /srv/jellyfin/config:/config \
--volume /srv/jellyfin/cache:/cache \
--mount type=bind,source=/home/user,target=/media \
--restart=unless-stopped \
jellyfin/jellyfin

Jetzt müssen theoretisch nur noch zwei Einträge von dir angepasst werden. Die restlichen Zeilen und Werte wurden bereits auf die Anleitung für die Installation von Jellyfin in diesem Beitrag angepasst. Die Zahl hinter der Zeile „user 1000:1000“ muss mit der Benutzer-ID deines angelegten Benutzers übereinstimmen.

Verwende das Terminal und gebe den folgenden Befehl ein, um dir die uid und gid deines Jellyfin-Benutzers unter Linux anzeigen zu lassen. Ergänze dann die Zahlen wie folgt: user uid:gid

User-ID ausgeben:

id jellyfin

Die andere Zeile, die noch von dir angepasst werden muss, ist die Zeile „mount“. Trage das Verzeichnis von dir ein, welches auf deinem Hostsystem für die Mediatheken gemountet wurde. Im Beispiel von mir befinden sich die Film- und Serien alle im Verzeichnis /home/user. Du kannst alle Datenbanken, auch von unterschiedlichen Netzwerkspeicherorten in ein Verzeichnis mounten (FilmeDB1, FilmeDB2, SerienDB1, SerienDB2 usw.)

Das Ziel: „media“ kann dabei bestehen bleiben. Lediglich die Anpassung hinter source mit dem Pfad deiner Medien ist hierbei wichtig, damit Jellyfin die Medien einlesen und abspielen kann. Verwendest du Freigaben z.B. von einem NAS-System über SMB oder NFS. Sollten zunächst die Freigaben innerhalb der fstab-Datei gemountet werden, bevor der Container gestartet wird.

Hast du die Befehlsanweisung auf deine Umgebung angepasst?

Dann kopiere die Befehlsanweisung jetzt aus der Zwischenablage und führe den Befehl in deinem Terminal aus. Jetzt wird der Jellyfin-Container erstellt und direkt im Hintergrund ausgeführt. Wir verwenden den standardmäßigen Port (8096).

Jellyfin Installation mit Docker erfolgreich abgeschlossen: Weboberfläche aufrufen

Die Installation von Jellyfin mit Docker ist nun erfolgreich auf deinem System abgeschlossen. Du kannst jetzt die IP-Adresse deines Media-Servers über einen beliebigen Browser aufrufen.

Die Weboberfläche von Jellyfin aufrufen (Beispiel-IP-Adresse):

http://192.168.178.180:8096

Ich wünsche dir viel Vergnügen mit deinem neuen Media-Server. Nachdem die Weboberfläche zum ersten Mal aufgerufen wurde, muss die Sprache (display language) ausgewählt werden. Im nächsten Schritt wird ein Administrationskonto für Jellyfin erstellt.

Anschließend befindest du dich im Dashboard. Beginne nun damit, deine Mediatheken einzufügen und die Datenbanken einzulesen. Das kann bei großen Mediensammlungen sehr viele Stunden dauern. Möchtest du über das Internet auf deinen Server zugreifen können, musst du noch den Port 8096 innerhalb der NAT-Einstellungen im Router für die Host-IP-Adresse freigeben.

Jellyfin erfolgreich installiert - Adminkonto erstellen

Deinen Jellyfin-Server über das Internet erreichbar machen:

Falls du eine dynamische IP-Adresse verwendest, so wie 99 % aller privaten Haushalte, kannst du einen kostenlosen DynDNS-Dienst verwenden, dessen Zugangsdaten du nur einmalig im Router einpflegen musst, um über eine feste Domain auf deinen Mediatheken zugreifen zu können.

Für diesen Fall empfehle ich dir, ein kostenloses SSL-Zertifikat mit Let’s Encrypt zu installieren. Dann wird der Datenverkehr zwischen deinem Client und dem Media-Server über HTTPS verschlüsselt. Wie das funktioniert, erfährst du in diesem Beitrag: Ein SSL-Zertifikat mit Certbot installieren.

3 Kommentare on “Einen Jellyfin Media Server mit Docker installieren (Tutorial)

  1. docker run -d -p 8096:8096 –name jellyfin2 –user 3050:3050 –net=host –volume /srv/jellyfin/config:/config –volume /srv/jellyfin/cache:/cache –mount type=bind,source=/mnt/default/Test,target=/media –restart=unless-stopped jellyfin/jellyfin

    Ging bei mir offenbar erst, nachdem ich das Portmapping noch ergänzt hatte.

  2. Hallo, da ich mit einem „Emby“ nicht so glücklich bin, wollte ich auf meinem Asustore den Jellyfin als Docker aufsetzen. Das Beispielscript habe ich angepasst. Vor ein paar Wochen habe ich einen LMS als Docker erfolgreich aufgesetzt. Hier bekomme ich nun bereits für „Sudo Docker Run -d /“ den ersten Fehler: ,“invalid reference format“- obwohl hier nichts anderes steht als bei meinem LMS Vorgehen. Vielleicht haben sie ja einen tip für mich? Ansonsten auch Daumen hoch für die tolle Beschreibung! vorab Danke und Gruß bernd

  3. Hi danke für das Tutorial!

    Eine Frage die sich mir als Greenhorn stellt,
    wie und wo gebe ich die Kommandos in der Weboberfläche bei OMV ein?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert