Der *arr-Stack mit Jellyfin und Plex: wie alles zusammenspielt
Unser Leitfaden zur Hardware-Transkodierung mit Jellyfin & Plex behandelt den Medienserver selbst. Drumherum nutzen die meisten Self-Hoster eine Familie von Tools, deren Namen auf arr enden: Sie organisieren die Bibliothek, benennen Dateien um, holen Untertitel und lassen Ihren Haushalt Titel anfragen. Diese Seite erinnert kurz daran, wer was macht und wie die Tools miteinander sprechen.
Wichtig: Wir ermutigen nicht dazu, Inhalte herunterzuladen, an denen Sie keine Rechte haben. Diese Tools sind neutral; was Sie ihnen geben, liegt in Ihrer Verantwortung. Auf Linux-GPU-Servern ist das Herunterladen, Speichern oder Teilen raubkopierter Werke (BitTorrent, Usenet, illegales IPTV …) durch Artikel 6 unserer AGB verboten und führt zur Sperrung. Nutzen Sie sie mit Ihren eigenen Dateien (Ihre Rips, Ihre Musik), gemeinfreien Werken (Internet Archive, Wikimedia Commons) und freien Lizenzen (offene Filme der Blender Foundation, Creative-Commons-Musik).
Das Diagramm
- Sie (oder jemand aus Ihrem Haushalt) fragen in Seerr einen Film oder eine Serie an.
- Seerr gibt die Anfrage an Radarr (Filme) oder Sonarr (Serien) weiter.
- Die *arr-App sucht in den Quellen, die in Prowlarr eingerichtet sind.
- Sie schickt das gewählte Element an den Download-Client.
- Die Datei landet in
/data/downloads/. - Die *arr-App importiert sie: Sie benennt sie um und legt sie per
Hardlink in
/data/media/ab (sofort, ohne zusätzlichen Platz). - Sie sagt Jellyfin oder Plex, die Bibliothek zu aktualisieren; Bazarr legt fehlende Untertitel neben das Video.
- Jellyfin oder Plex liest
/data/media/. - Kann ein Gerät das Originalformat nicht abspielen, transkodiert der Server auf der GPU (VAAPI / Quick Sync).
- Das Video wird auf TV, Smartphone oder Browser gestreamt.
Kein Download-Client? Der Stack funktioniert trotzdem: Legen Sie Ihre eigenen Dateien in einen Ordner und nutzen Sie den Manual Import von Sonarr, Radarr oder Lidarr, um sie umzubenennen und einzusortieren.
Wer macht was
| Tool | Rolle | Standard-Port |
|---|---|---|
| Jellyfin / Plex | Medienserver: Bibliothek, Metadaten, Streaming, GPU-Transkodierung | 8096 / 32400 |
| Sonarr | Serien: verfolgt Episoden, importiert und benennt sie | 8989 |
| Radarr | Filme: dieselbe Arbeit für Filme | 7878 |
| Lidarr | Musik: Alben und Künstler, ideal für Ihre CD-Rips | 8686 |
| Prowlarr | Verwaltet die Quellen (Indexer) einmal und synchronisiert sie in die *arr-Apps | 9696 |
| Bazarr | Untertitel für alles, was Sonarr und Radarr verwalten | 6767 |
| Seerr | Anfrageportal für Ihren Haushalt, für Jellyfin, Plex und Emby | 5055 |
Seerr ist die Fusion von Overseerr (Plex) und Jellyseerr
(Jellyfin): Beide Teams haben sich zusammengetan und im Februar 2026 Seerr 3.0
veröffentlicht (ghcr.io/seerr-team/seerr). Die Overseerr-Images sind
veraltet; wer noch Overseerr oder Jellyseerr nutzt, migriert zu Seerr mit
einem neuen Datenordner, damit der alte als Rückfallebene bleibt.
Readarr (Bücher) wurde 2025 von seinen Entwicklern eingestellt, das Repository ist archiviert: Für Bücher und Hörbücher eignen sich eher Audiobookshelf oder LazyLibrarian.
Tools, die oft dazugehören
| Tool | Was es bringt |
|---|---|
| Recyclarr | Synchronisiert bewährte Qualitätsprofile und Benennungsregeln (TRaSH Guides) in Sonarr und Radarr |
| Unpackerr | Entpackt Archive, damit Sonarr / Radarr sie importieren können |
| Tdarr | Kodiert die Bibliothek massenhaft neu (z. B. nach HEVC); kann die Intel-GPU per VAAPI / QSV nutzen |
| Tautulli (Plex) / Jellystat (Jellyfin) | Wiedergabestatistiken, wer was geschaut hat, Benachrichtigungen |
| Kometa | Sammlungen, Poster und Overlays für Plex (teilweise Jellyfin) |
| Maintainerr | Regeln zum Aufräumen dessen, was niemand schaut |
| Wizarr | Einladungslinks für den Zugang zu Jellyfin oder Plex |
| Audiobookshelf | Server für Hörbücher und Podcasts |
| Homepage | Ein Dashboard mit allen Diensten und ihrem Status |
Eine einzige Docker-Compose-Datei
Alle Apps teilen sich einen Ordner /data mit downloads/ und media/.
Er muss für alle Container dasselbe Dateisystem sein, sonst werden aus
Hardlinks langsame Kopien, die den Platzbedarf verdoppeln.
mkdir -p /srv/data/{downloads,media/{movies,tv,music}} /srv/arr
cd /srv/arr
docker-compose.yml:
x-common: &common
restart: unless-stopped
environment:
PUID: "1000"
PGID: "1000"
TZ: Europe/Berlin
volumes:
- /srv/data:/data
services:
sonarr:
<<: *common
image: lscr.io/linuxserver/sonarr:latest
volumes: [/srv/data:/data, ./sonarr:/config]
ports: ["127.0.0.1:8989:8989"]
radarr:
<<: *common
image: lscr.io/linuxserver/radarr:latest
volumes: [/srv/data:/data, ./radarr:/config]
ports: ["127.0.0.1:7878:7878"]
lidarr:
<<: *common
image: lscr.io/linuxserver/lidarr:latest
volumes: [/srv/data:/data, ./lidarr:/config]
ports: ["127.0.0.1:8686:8686"]
prowlarr:
<<: *common
image: lscr.io/linuxserver/prowlarr:latest
volumes: [./prowlarr:/config]
ports: ["127.0.0.1:9696:9696"]
bazarr:
<<: *common
image: lscr.io/linuxserver/bazarr:latest
volumes: [/srv/data:/data, ./bazarr:/config]
ports: ["127.0.0.1:6767:6767"]
seerr:
image: ghcr.io/seerr-team/seerr:latest
init: true
restart: unless-stopped
environment:
TZ: Europe/Berlin
volumes: [./seerr:/app/config]
ports: ["5055:5055"]
jellyfin: # oder der plex-Dienst unten
image: jellyfin/jellyfin:latest
restart: unless-stopped
devices: [/dev/dri/renderD128:/dev/dri/renderD128]
group_add: ["${RENDER_GID}"]
volumes: [./jellyfin:/config, /srv/data/media:/data/media:ro]
ports: ["8096:8096"]
# plex:
# image: plexinc/pms-docker:latest
# restart: unless-stopped
# network_mode: host
# devices: [/dev/dri:/dev/dri]
# volumes: [./plex:/config, /srv/data/media:/data/media:ro]
echo "RENDER_GID=$(stat -c %g /dev/dri/renderD128)" > .env
docker compose up -d
Fügen Sie derselben Datei den Download-Client Ihrer Wahl hinzu, mit
/srv/data:/data als Volume und /data/downloads als Zielordner,
nur für legale Quellen.
Die Apps verbinden
- Prowlarr → Settings → Apps: Sonarr, Radarr und Lidarr mit ihrem API-Schlüssel hinzufügen (jeweils unter Settings → General). Prowlarr überträgt dann dieselben Quellen an alle.
- Sonarr / Radarr / Lidarr → Settings → Media Management:
Stammordner
/data/media/tv,/data/media/movies,/data/media/music; Use Hardlinks instead of Copy aktiviert lassen. - Sonarr / Radarr → Settings → Connect: Emby / Jellyfin oder Plex Media Server hinzufügen, damit die Bibliothek nach jedem Import aktualisiert wird.
- Bazarr → Settings → Sonarr / Radarr: dieselben API-Schlüssel, dann Untertitelsprachen und Anbieter wählen.
- Seerr: Der Einrichtungsassistent fragt nach Jellyfin oder Plex, danach unter Settings → Services Radarr und Sonarr hinzufügen.
- Jellyfin oder Plex: Bibliotheken auf
/data/media/...und GPU-Transkodierung wie in unserem Leitfaden.
Sicherheit
- Nur Jellyfin/Plex und Seerr müssen erreichbar sein. Die anderen Apps
lauschen auf
127.0.0.1: Öffnen Sie sie über einen SSH-Tunnel (ssh -L 8989:localhost:8989 support@ihr-server) oder hinter einem Reverse Proxy mit Authentifizierung. - Aktivieren Sie die Authentifizierung in jeder *arr-App (Settings → General → Authentication).
- Lassen Sie den Medienordner für den Medienserver schreibgeschützt (
:rooben).
Speicher
Die Angebote haben 60 GB (Start), 120 GB (Power) oder 240 GB SSD (Pro). Das reicht locker für die Apps und eine Musik- oder Heimvideo-Bibliothek; für eine große Filmsammlung planen Sie die Plattengröße von Anfang an, denn Hardlinks funktionieren nur innerhalb eines Dateisystems.
Ausprobieren
Linux-GPU-Server mit Intel UHD 770 in der VM, Docker bereits installiert, VAAPI und Quick Sync bereit für Jellyfin und Plex. Ab 14,99 € netto/Monat, Root-Zugriff.