115 lines
3.8 KiB
Markdown
115 lines
3.8 KiB
Markdown
# DC-Playlist für Jellyfin + Seerr
|
|
|
|
`dc_jellyfin_seerr.py` prüft deine Jellyfin-Bibliothek, fordert fehlende Filme beziehungsweise Serien-Staffeln über Seerr an und erstellt geordnete, standardmäßig öffentliche Jellyfin-Playlists.
|
|
|
|
## Warum mehrere Playlists?
|
|
|
|
DC besteht aus mehreren voneinander getrennten Kontinuitäten. Das Script erzeugt deshalb keine falsche Gesamtchronologie, sondern getrennte Reihenfolgen für DCEU, neues DCU und wichtige Elseworlds-Reihen.
|
|
|
|
## Profile
|
|
|
|
| Profil | Inhalt |
|
|
|---|---|
|
|
| `dc-shared` | DCEU mit Snyder Cut und neues DCU als zwei Playlists; Standard |
|
|
| `dceu-snyder` | DCEU mit `Zack Snyder's Justice League` |
|
|
| `dceu-theatrical` | DCEU mit `Justice League` von 2017 |
|
|
| `dcu` | DCU inklusive Übergang über `The Suicide Squad` und `Peacemaker` S1 |
|
|
| `reeves` | `The Batman` und `The Penguin` |
|
|
| `nolan` | The-Dark-Knight-Trilogie |
|
|
| `joker` | `Joker` und `Joker: Folie à Deux` |
|
|
| `burton-schumacher` | Batman-Filme 1989 bis 1997 |
|
|
| `superman-classic` | klassische Superman-Filmreihe 1978 bis 1987 |
|
|
| `dc-complete` / `all` | alle obigen Kontinuitäten, Snyder-DCEU statt doppeltem Justice-League-Zweig |
|
|
|
|
Die kommenden DCU-Titel `Lanterns` und `Clayface` sind bereits enthalten. Solange sie noch nicht verfügbar sind, erkennt das Script bestehende Requests oder überspringt Seerr-Antworten wie `No seasons available to request` ohne harten Fehler.
|
|
|
|
## Installation
|
|
|
|
```bash
|
|
mkdir -p /opt/dc-playlist
|
|
python3 -m zipfile -e /root/dc-jellyfin-seerr.zip /opt/dc-playlist
|
|
cd /opt/dc-playlist
|
|
chmod +x dc_jellyfin_seerr.py
|
|
```
|
|
|
|
Du kannst deine bereits funktionierende Marvel-Konfiguration übernehmen:
|
|
|
|
```bash
|
|
cp /opt/marvel-playlist/marvel.env /opt/dc-playlist/dc.env
|
|
printf '\nJELLYFIN_PLAYLIST_PUBLIC=true\n' >> /opt/dc-playlist/dc.env
|
|
chmod 600 /opt/dc-playlist/dc.env
|
|
```
|
|
|
|
Alternativ:
|
|
|
|
```bash
|
|
cp dc.env.example dc.env
|
|
nano dc.env
|
|
chmod 600 dc.env
|
|
```
|
|
|
|
## Timeline anzeigen
|
|
|
|
```bash
|
|
cd /opt/dc-playlist
|
|
./dc_jellyfin_seerr.py --list --profile dc-shared
|
|
```
|
|
|
|
## Zuerst Dry-Run
|
|
|
|
```bash
|
|
cd /opt/dc-playlist
|
|
./dc_jellyfin_seerr.py \
|
|
--dry-run \
|
|
--request-missing \
|
|
--sync-playlist \
|
|
--profile dc-shared
|
|
```
|
|
|
|
## Fehlende Medien anfragen und Playlists erstellen
|
|
|
|
```bash
|
|
cd /opt/dc-playlist
|
|
./dc_jellyfin_seerr.py \
|
|
--request-missing \
|
|
--sync-playlist \
|
|
--profile dc-shared
|
|
```
|
|
|
|
Für alle enthaltenen Filmreihen:
|
|
|
|
```bash
|
|
cd /opt/dc-playlist
|
|
./dc_jellyfin_seerr.py \
|
|
--dry-run \
|
|
--request-missing \
|
|
--sync-playlist \
|
|
--profile dc-complete
|
|
```
|
|
|
|
Nach abgeschlossenen Downloads und einem Jellyfin-Bibliotheksscan erneut synchronisieren:
|
|
|
|
```bash
|
|
cd /opt/dc-playlist
|
|
./dc_jellyfin_seerr.py \
|
|
--sync-playlist \
|
|
--profile dc-shared
|
|
```
|
|
|
|
## Verhalten
|
|
|
|
- Filme und Serien werden primär über fest hinterlegte TMDB-IDs erkannt.
|
|
- Serien werden als einzelne Episoden in Staffel-/Folgenreihenfolge eingefügt.
|
|
- Fehlende Staffeln werden über Seerr angefragt.
|
|
- Bereits vorhandene oder laufende Requests werden übersprungen.
|
|
- Sonderzeichen in URL-Parametern werden RFC-3986-konform percent-encodiert.
|
|
- Neue Playlists sind mit `JELLYFIN_PLAYLIST_PUBLIC=true` für alle Jellyfin-Benutzer sichtbar.
|
|
- Jeder Jellyfin-Benutzer behält seinen eigenen Wiedergabefortschritt.
|
|
- Benutzer benötigen weiterhin Zugriff auf die zugrunde liegenden Bibliotheken.
|
|
|
|
## Hinweis zur Chronologie
|
|
|
|
Die DCEU-Reihenfolge ist eine sinnvolle Story-Reihenfolge. Manche Filme enthalten Rückblenden oder nur lose zeitliche Verknüpfungen. Für das neue DCU sind noch nicht veröffentlichte Projekte nach ihrem bestätigten Veröffentlichungszeitpunkt einsortiert, solange keine präzisere Handlungschronologie bekannt ist.
|
|
|
|
Das Arrowverse ist nicht enthalten: Eine wirklich korrekte Reihenfolge müsste mehrere hundert Episoden einschließlich Crossovers episodenweise ineinander verschachteln und sollte als separates Profilpaket umgesetzt werden.
|