Add plex collection: health check and poster repair

Plex on odin had 101 of 283 TV shows showing grey placeholder posters. The
cause was not missing images: for every affected show the poster was still
downloaded in the item's metadata bundle, but no candidate was marked
`selected` in the database, so the thumb URL resolved to a 404. Working shows
had exactly one selected candidate; all 101 affected had zero.

Two details make this easy to misdiagnose, so both are captured in the docs:
only 6 items lacked a `thumb` field outright, while 95 advertised a
well-formed thumb URL that 404s on fetch — a metadata-only audit reports the
library as healthy. And a bulk metadata refresh, the obvious suspect, does not
correlate with the damage.

Adds three scripts against the Plex HTTP API (no SSH to odin needed):

  plex-health    read-only report — server, updates, libraries, unmatched
                 media, Butler tasks, active streams; exit 0/1/2
  poster-audit   read-only; fetches every thumb to find the 404s
  poster-repair  re-selects the locally-cached poster; --dry-run, idempotent,
                 skips items whose poster already works so manually-chosen
                 artwork is never replaced

All 283 TV Shows posters now resolve. The health check also surfaced one
unmatched movie, Battlestar Galactica the Mini Series.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Lucas Berger
2026-08-15 21:15:06 -04:00
co-authored by Claude Opus 5
parent 28e0fdb631
commit 3df1cca91c
9 changed files with 942 additions and 1 deletions
+3 -1
View File
@@ -11,7 +11,9 @@ See [CLAUDE.md](CLAUDE.md) for the environment details and repo conventions, and
## Collections
_None yet._
| Collection | What it does | Runs on |
| --- | --- | --- |
| [plex](plex/) | Health checks and library-artwork repair for the Plex server | this workstation, targeting odin |
<!-- Add one line per collection:
| [name](name/) | What it does | Runs on |