← Zurück zur Übersicht Jellyfin mit Docker Compose: Eigenen Media-Server lokal auf Port 8096 starten

Jellyfin mit Docker Compose: Eigenen Media-Server lokal auf Port 8096 starten

Jellyfin mit Docker Compose: Eigenen Media-Server lokal auf Port 8096 starten

Wer Filme, Serien, Musik oder private Videos nicht in verstreuten Ordnern und proprietaeren Plattformen versenken will, bekommt mit Jellyfin einen komplett selbst kontrollierten Media-Server. Das Ergebnis dieses Tutorials ist bewusst konkret: eine lokal laufende Jellyfin-Oberflaeche unter http://127.0.0.1:8096 inklusive erstem Setup-Assistenten und sauber eingebundenem Medienordner.

Der verifizierte Stand fuer diesen Artikel ist klar. Die offizielle Jellyfin-Container-Doku zeigt weiterhin den offiziellen Image-Namen jellyfin/jellyfin, die Ports 8096/tcp und 7359/udp sowie persistente Pfade fuer /config, /cache und den Medien-Mount. Gleichzeitig listen GitHub Releases und Docker Hub aktuell 10.11.11 als neuesten stabilen Stand. Genau deshalb pinne ich hier bewusst auf jellyfin/jellyfin:10.11.11 statt blind auf latest.

Was du am Ende hast

  • Jellyfin lokal unter http://127.0.0.1:8096
  • einen persistenten Config- und Cache-Pfad
  • einen eingebundenen Medienordner unter /media
  • einen sichtbaren Setup-Assistenten im Browser statt nur eines laufenden Containers
  • klare Pruefschritte mit docker compose, Logs und curl

Warum dieser Aufbau sinnvoll ist

Die offizielle Doku trennt Konfiguration, Cache und Medienverzeichnis klar. Das ist nicht Kosmetik, sondern spart spaeter echte Probleme:

  • ./config haelt Server-Einstellungen, Bibliotheken und Benutzerzustand persistent
  • ./cache trennt fluechtige Daten sauber vom eigentlichen Serverzustand
  • der Medienordner kann read-only gemountet werden, damit Jellyfin beim ersten Start nichts an deinen Dateien veraendert

Gerade fuer einen ersten lokalen Aufbau ist das der richtige Kompromiss: schnell sichtbar, reproduzierbar und ohne unnoetig viel Zusatz-Infrastruktur.

Voraussetzungen

Du brauchst:

  • Docker Engine oder Docker Desktop
  • docker compose
  • einen freien Port 8096
  • optional 7359/udp, wenn du die automatische Server-Erkennung im lokalen Netz nutzen willst

Kurz pruefen:

docker --version
docker compose version

1. Arbeitsordner sauber anlegen

Starte nicht zwischen alten Compose-Dateien, sondern in einem frischen Projektordner:

mkdir jellyfin-lab && cd jellyfin-lab
mkdir -p config cache media/Filme media/Serien

Wenn du Jellyfin nicht als Root im Container laufen lassen willst, pruefe kurz deine lokale UID und GID:

id -u
id -g

Die Werte brauchst du gleich fuer die Zeile user: in der Compose-Datei. Falls dein Benutzer nicht 1000:1000 nutzt, ersetzt du die Zahlen dort entsprechend.

2. Compose-Datei schreiben

Lege jetzt jellyfin-lab/compose.yaml an:

services:
  jellyfin:
    image: jellyfin/jellyfin:10.11.11
    container_name: jellyfin
    user: "1000:1000"
    ports:
      - "8096:8096/tcp"
      - "7359:7359/udp"
    volumes:
      - ./config:/config
      - ./cache:/cache
      - type: bind
        source: ./media
        target: /media
        read_only: true
    restart: unless-stopped

Warum genau diese Punkte?

  • jellyfin/jellyfin:10.11.11 pinnt den aktuell verifizierten stabilen Release-Stand.
  • 8096:8096/tcp folgt direkt dem offiziellen Container-Beispiel fuer den Webzugriff.
  • 7359:7359/udp deckt die von Jellyfin dokumentierte Auto-Discovery im LAN ab.
  • ./config und ./cache folgen der offiziellen Trennung von persistentem Zustand und Cache.
  • der Medien-Mount bleibt mit read_only: true absichtlich defensiv. Fuer einen ersten Start ist das sicherer als sofort Schreibrechte auf deine Sammlung zu geben.

Wenn du Jellyfin spaeter bewusst Metadateien oder andere Aenderungen in deinen Medienordner schreiben lassen willst, kannst du read_only: true gezielt entfernen.

3. Stack starten

Jetzt ziehst du das Image und startest den Dienst:

docker compose pull
docker compose up -d

Danach sollte Jellyfin lokal erreichbar sein unter:

http://127.0.0.1:8096

4. Lokal verifizieren

Pruefe zuerst, ob der Container wirklich sauber hochkommt:

docker compose ps
docker compose logs --tail=100 jellyfin
curl -I http://127.0.0.1:8096

Woran du ein gutes Ergebnis erkennst:

  • docker compose ps zeigt jellyfin als laufend an
  • die Logs enden nicht in Rechte- oder Mount-Fehlern
  • curl -I liefert einen HTTP-Status statt connection refused

Damit ist der wichtigste Zwischenstand erreicht: Die Weboberflaeche antwortet wirklich lokal und der Server laeuft nicht nur auf dem Papier.

5. Setup-Assistent sinnvoll durchgehen

Beim ersten Aufruf fuehrt dich Jellyfin durch den offiziellen Setup-Wizard. Laut Jellyfin-Quick-Start und der Wizard-Doku gehoeren dazu mindestens drei praktische Punkte:

  1. einen Administrator anlegen
  2. Medienbibliotheken hinzufuegen
  3. Grundeinstellungen fuer Netzwerk und Metadaten setzen

Fuer deine erste Bibliothek kannst du direkt den gemounteten Ordner /media verwenden. Wenn du die Unterordner media/Filme und media/Serien auf dem Host angelegt hast, tauchen sie im Wizard als Quellen fuer eigene Bibliotheken auf.

Wichtig ist der Rechtehinweis aus der Wizard-Doku: Wenn du deine Medienordner dort nicht siehst, sind Berechtigungen ein wahrscheinlicher Kandidat. In dem Fall pruefst du zuerst wieder die UID/GID-Zuordnung und den Mount-Pfad aus jellyfin-lab/compose.yaml.

6. Netzwerkeinstellung mit Augenmass

Die Jellyfin-Doku macht im Wizard zwei Punkte deutlich:

  • fuer viele Nutzer ist Allow remote access spaeter sinnvoll
  • automatisches Port-Mapping ueber UPnP sollte nur aktiviert werden, wenn es wirklich gebraucht wird

Fuer dieses lokale Start-Setup ist die pragmatische Reihenfolge einfach: erst sauber lokal unter 127.0.0.1:8096 testen, dann spaeter bewusst ueber Reverse Proxy, VPN oder Tailscale nach aussen oeffnen. So vermeidest du, dass du Netzwerkfragen mit dem ersten Container-Start vermischst.

7. Was du danach sofort machen kannst

Sobald der Wizard abgeschlossen ist, hast du mehr als nur einen gestarteten Dienst:

  • du kannst eine Film- oder Serienbibliothek im Browser sehen
  • du kannst weitere Nutzerkonten anlegen
  • du kannst spaeter Clients auf TV, Mobilgeraet oder Desktop anbinden

Genau das macht Jellyfin als Compose-Projekt stark: Das sichtbare Ergebnis ist nicht abstrakt, sondern ein echter Media-Server mit eigener Weboberflaeche und klarer Datenstruktur.

8. Updates ohne Versionschaos

Weil dieses Setup absichtlich auf 10.11.11 pinnt, besteht ein sauberes Update nicht nur aus pull. Du aenderst zuerst den Tag in jellyfin-lab/compose.yaml auf den naechsten verifizierten Stable-Release und faehrst dann erst das Update:

docker compose pull
docker compose up -d

Zum Stoppen reicht:

docker compose down

Deine Serverdaten bleiben erhalten, solange jellyfin-lab/config und jellyfin-lab/cache bestehen bleiben.

Fazit

Jellyfin ist im Juni 2026 ein starker Docker-Compose-Kandidat, weil der offizielle Container-Weg klar dokumentiert ist, der aktuelle Stable-Stand sauber verifizierbar bleibt und das Resultat sofort sichtbar wird. Du startest hier nicht irgendeinen Hintergrunddienst, sondern landest nach wenigen Minuten in einem echten lokalen Media-Server mit Browser-UI, Bibliotheken und eigener Admin-Verwaltung.

Quellen