Initial commit

This commit is contained in:
2026-08-03 16:30:18 +02:00
commit 4fc1877a6f
3 changed files with 1307 additions and 0 deletions
+114
View File
@@ -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.
+28
View File
@@ -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
+1165
View File
File diff suppressed because it is too large Load Diff