Zum Hauptinhalt springen
Zurück zur Kategorie

Jellyfin Installation: Self-Hosted Medienserver

Jellyfin Docker-Installation, Medienbibliothek-Konfiguration, Hardware-Transcoding, Benutzerverwaltung, Remote-Zugriff, Nginx Reverse Proxy und Client-Anwendungen.

Lesezeit: 14 Min Self-Hosting
jellyfinmedienserverself-hostingdockerstreamingtranscoding
Autor
REXE Teknoloji Network & Security Team
Redaktion
REXE Teknoloji Technical Editorial
Erstveröffentlichung
Letzte Aktualisierung

Jellyfin Installation: Self-Hosted Medienserver

Jellyfin ist ein kostenloser und quelloffener Medienserver, mit dem Sie Ihre Filme, Serien, Musik und Fotos auf Ihrem eigenen Server verwalten und streamen können. Im Gegensatz zu Plex und Emby ist es völlig kostenlos und erfordert kein Abonnement. Sie können von allen Ihren Geräten auf Ihre Medien zugreifen und sie mit Freunden teilen.

Was ist Jellyfin?

Jellyfin begann als Open-Source-Fork von Emby und hat sich zu einem eigenständigen Projekt entwickelt. Hauptmerkmale:

  • Völlig kostenlos: Kein Abonnement oder Premium-Funktionen
  • Multi-Plattform: Web, Android, iOS, Roku, Apple TV, Fire TV
  • Hardware-Transcoding: Intel QSV, NVIDIA NVENC, AMD AMF Unterstützung
  • Live-TV: DVR und IPTV-Unterstützung
  • Multi-User: Teilen mit Familie und Freunden
  • Metadaten: Automatischer Film-/Serieninfo- und Poster-Download

Systemanforderungen

  • Server mit Docker und Docker Compose
  • Mindestens 2 GB RAM (4 GB empfohlen)
  • Ausreichend Speicherplatz (für Mediendateien)
  • Kompatible GPU für Hardware-Transcoding (optional)

Installation mit Docker

docker-compose.yml erstellen

hljs yaml
version: '3.8'

services:
  jellyfin:
    image: jellyfin/jellyfin:latest
    container_name: jellyfin
    restart: unless-stopped
    user: "1000:1000"
    environment:
      - JELLYFIN_PublishedServerUrl=https://jellyfin.example.com
    volumes:
      - ./config:/config
      - ./cache:/cache
      - /mnt/media/filme:/media/filme:ro
      - /mnt/media/serien:/media/serien:ro
      - /mnt/media/musik:/media/musik:ro
    ports:
      - "127.0.0.1:8096:8096"
    devices:
      - /dev/dri:/dev/dri
hljs bash
# Container starten
docker compose up -d

# Logs prüfen
docker logs jellyfin -f

Das Einbinden von Medienverzeichnissen als :ro (schreibgeschützt) wird aus Sicherheitsgründen empfohlen.

Medienverzeichnisstruktur

/mnt/media/
├── filme/
│   ├── Inception (2010)/
│   │   └── Inception (2010).mkv
│   └── The Matrix (1999)/
│       └── The Matrix (1999).mp4
├── serien/
│   └── Breaking Bad/
│       ├── Season 01/
│       │   ├── S01E01.mkv
│       │   └── S01E02.mkv
│       └── Season 02/
└── musik/
    └── Künstler/
        └── Album/
            └── 01 - Track.flac

Erstkonfiguration

Nach der Installation unter http://SERVER_IP:8096:

  1. Sprache auswählen
  2. Admin-Konto erstellen
  3. Medienbibliotheken hinzufügen:
    • Typ: Filme, Serien, Musik, Fotos
    • Ordner: /media/filme, /media/serien usw.
  4. Metadatensprache auswählen
  5. Einrichtung abschließen

Hardware-Transcoding

Intel Quick Sync (QSV)

hljs yaml
services:
  jellyfin:
    devices:
      - /dev/dri:/dev/dri
    group_add:
      - "109"
hljs bash
# Intel GPU verfügbarkeit prüfen
ls /dev/dri
# Ausgabe: card0  renderD128

# Render-Gruppen-ID ermitteln
stat -c '%g' /dev/dri/renderD128

In Jellyfin aktivieren:

Verwaltung → Wiedergabe → Transcoding
→ Hardwarebeschleunigung: Intel QuickSync (QSV)
→ Aktivieren: H.264, H.265, VP9

NVIDIA GPU

hljs yaml
services:
  jellyfin:
    image: jellyfin/jellyfin:latest
    runtime: nvidia
    environment:
      - NVIDIA_VISIBLE_DEVICES=all
      - NVIDIA_DRIVER_CAPABILITIES=all
hljs bash
# NVIDIA Container Toolkit installieren
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | \
  tee /etc/apt/sources.list.d/nvidia-docker.list
apt update && apt install -y nvidia-container-toolkit
nvidia-ctk runtime configure --runtime=docker
systemctl restart docker

Benutzerverwaltung

Benutzer erstellen

Verwaltung → Benutzer → Neuer Benutzer
- Benutzername und Passwort
- Bibliothekszugriffsberechtigungen
- Kindersicherung (Inhaltsbewertung)
- Fernzugriffsberechtigung

Remote-Zugriff und Nginx-Proxy

Nginx-Konfiguration

hljs nginx
server {
    listen 80;
    server_name jellyfin.example.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl http2;
    server_name jellyfin.example.com;

    ssl_certificate /etc/letsencrypt/live/jellyfin.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/jellyfin.example.com/privkey.pem;

    location / {
        proxy_pass http://127.0.0.1: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_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_buffering off;
        proxy_read_timeout 3600;
    }
}

Client-Anwendungen

  • Web: https://jellyfin.example.com
  • Android: Jellyfin aus Google Play
  • iOS: Jellyfin aus dem App Store
  • Kodi: Jellyfin für Kodi-Plugin
  • Roku: Jellyfin-Kanal
  • Apple TV: tvOS-App

Backup

hljs bash
# Jellyfin-Konfiguration sichern
tar -czf jellyfin-config-$(date +%Y%m%d).tar.gz ./config/

# Automatisches Backup
cat > /etc/cron.weekly/jellyfin-backup << 'EOF'
#!/bin/bash
tar -czf /backups/jellyfin-$(date +%Y%m%d).tar.gz /opt/jellyfin/config/
find /backups -name "jellyfin-*.tar.gz" -mtime +60 -delete
EOF
chmod +x /etc/cron.weekly/jellyfin-backup

Sie können Hardware-Transcoding auf REXE Dedicated-Servern nutzen. Unsere Server mit Intel- oder NVIDIA-GPUs sind ideal für 4K-Inhalte.

Häufig gestellte Fragen

Was ist der Hauptunterschied zwischen Jellyfin und Plex?

Jellyfin ist völlig kostenlos und quelloffen; im Gegensatz zu Plex gibt es kein Abonnement oder Premium-Funktionen. Plex kann ausgereifter und benutzerfreundlicher sein, aber einige Funktionen (Offline-Sync, 4K-Transcoding) erfordern Plex Pass. Jellyfin bietet alle Funktionen kostenlos an und Ihre Daten liegen vollständig unter Ihrer Kontrolle.

Warum ist Hardware-Transcoding wichtig?

Hardware-Transcoding führt die Videokonvertierung mit der GPU statt der CPU durch. Dadurch sinkt die CPU-Auslastung auf 5-15% (vs. 80-100% mit CPU), es werden mehr gleichzeitige Streams unterstützt und 4K-Inhalte werden flüssig abgespielt. Intel QSV, NVIDIA NVENC oder AMD AMF kompatible GPUs können verwendet werden.

Warum werden meine Mediendateien nicht erkannt?

Sie müssen Jellyfinss Dateibenennungskonventionen befolgen. Für Filme: Format 'Filmname (Jahr)/Filmname (Jahr).mkv' verwenden. Für Serien: Format 'Serienname/Season XX/S01E01.mkv' verwenden. Sonderzeichen und falsche Jahresangaben können Erkennungsprobleme verursachen. Suchen Sie auf TMDB oder TVDB nach dem richtigen Namen.

Video ruckelt oder Qualität ist beim Remote-Zugriff schlecht.

Überprüfen Sie Ihre Internetbandbreite. Für 4K-Inhalte sind mindestens 25 Mbps Upload-Geschwindigkeit erforderlich. Wenn Transcoding aktiviert ist, überprüfen Sie die Server-CPU/GPU-Kapazität. Wählen Sie in Jellyfin eine bestimmte Bitrate statt 'Auto'-Qualität. Das Aktivieren von Hardware-Transcoding verbessert die Leistung erheblich.

Wie gebe ich mehreren Benutzern Zugriff?

Erstellen Sie neue Benutzer unter Verwaltung → Benutzer. Sie können Bibliothekszugriffsberechtigungen für jeden Benutzer separat festlegen. Fügen Sie Inhaltsbeschränkungen mit der Kindersicherung hinzu. Benutzer können sich von ihren eigenen Geräten mit Jellyfin verbinden.

Wie aktualisiere ich Jellyfin?

Bei Docker-Nutzung: docker compose pull && docker compose up -d ausführen. Dies aktualisiert nur das Jellyfin-Image und behält Ihre Konfiguration bei. Es wird empfohlen, das Konfigurationsverzeichnis vor dem Update zu sichern. Lesen Sie die Release Notes bei größeren Versionsupdates.

Verwandte Artikel

NetzwerkverkehrEingehend GbpsAusgehend Gbps