Jellyfin Installation: Self-Hosted Medienserver
Jellyfin Docker-Installation, Medienbibliothek-Konfiguration, Hardware-Transcoding, Benutzerverwaltung, Remote-Zugriff, Nginx Reverse Proxy und Client-Anwendungen.
Inhaltsverzeichnis
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
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
# 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:
- Sprache auswählen
- Admin-Konto erstellen
- Medienbibliotheken hinzufügen:
- Typ: Filme, Serien, Musik, Fotos
- Ordner:
/media/filme,/media/serienusw.
- Metadatensprache auswählen
- Einrichtung abschließen
Hardware-Transcoding
Intel Quick Sync (QSV)
services:
jellyfin:
devices:
- /dev/dri:/dev/dri
group_add:
- "109"
# 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
services:
jellyfin:
image: jellyfin/jellyfin:latest
runtime: nvidia
environment:
- NVIDIA_VISIBLE_DEVICES=all
- NVIDIA_DRIVER_CAPABILITIES=all
# 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
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
# 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.
Verwandte Artikel
Coolify Installation: Anwendungs-Deployment mit Self-Hosted PaaS
Coolify-Installation, Docker- und Git-Integration, Anwendungs-Deployment, Datenbankverwaltung, SSL-Zertifikate, Umgebungsvariablen und Self-Hosted PaaS als Alternative zu Heroku/Netlify.
Nextcloud Installation: Self-Hosted Cloud-Speicher und Zusammenarbeit
Nextcloud-Installation mit Docker, Apache/Nginx-Konfiguration, Datenbankeinrichtung, SSL-Zertifikat, Dateisynchronisierung, App-Store und Leistungsoptimierung.
Docker-Verwaltung mit Portainer: Webbasierte Container-Kontrolle
Portainer CE Installation, Docker- und Kubernetes-Verwaltung, Stack-Deployment, Volume/Netzwerk-Verwaltung, Benutzerautorisierung, Webhook und GitOps-Integration.