Initial commit
This commit is contained in:
@@ -0,0 +1,114 @@
|
||||
# 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.
|
||||
@@ -0,0 +1,28 @@
|
||||
# Jellyfin intern oder extern erreichbar
|
||||
JELLYFIN_URL=http://192.168.1.100:8096
|
||||
JELLYFIN_API_KEY=HIER_JELLYFIN_API_KEY_EINTRAGEN
|
||||
|
||||
# Entweder Benutzername oder feste User-ID setzen.
|
||||
JELLYFIN_USERNAME=josh
|
||||
# JELLYFIN_USER_ID=
|
||||
|
||||
# Seerr / Jellyseerr / Overseerr-kompatible Seerr-API
|
||||
SEERR_URL=http://192.168.1.100:5055
|
||||
SEERR_API_KEY=HIER_SEERR_API_KEY_EINTRAGEN
|
||||
|
||||
# Bei selbst signiertem HTTPS-Zertifikat auf false setzen.
|
||||
VERIFY_SSL=true
|
||||
HTTP_TIMEOUT=30
|
||||
|
||||
# Neue Playlists werden standardmäßig serverweit sichtbar erstellt.
|
||||
JELLYFIN_PLAYLIST_PUBLIC=true
|
||||
|
||||
# Optionale Playlist-Namen
|
||||
JELLYFIN_PLAYLIST_DCEU_SNYDER=DC – DCEU chronologisch (Snyder Cut)
|
||||
JELLYFIN_PLAYLIST_DCEU_THEATRICAL=DC – DCEU chronologisch (Justice League 2017)
|
||||
JELLYFIN_PLAYLIST_DCU=DC – DCU chronologisch
|
||||
JELLYFIN_PLAYLIST_REEVES=DC – The Batman Epic Crime Saga
|
||||
JELLYFIN_PLAYLIST_NOLAN=DC – The Dark Knight Trilogie
|
||||
JELLYFIN_PLAYLIST_JOKER=DC – Joker Elseworlds
|
||||
JELLYFIN_PLAYLIST_BURTON=DC – Batman Burton und Schumacher
|
||||
JELLYFIN_PLAYLIST_SUPERMAN_CLASSIC=DC – Superman klassische Filmreihe
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user