From 3df1cca91c5b2242ccf3055afb601a8bbc6c87a1 Mon Sep 17 00:00:00 2001 From: Lucas Berger Date: Sat, 15 Aug 2026 21:15:06 -0400 Subject: [PATCH] Add plex collection: health check and poster repair MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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) --- README.md | 4 +- plex/.env.example | 33 +++++ plex/README.md | 104 ++++++++++++++ plex/bin/plex-health | 242 ++++++++++++++++++++++++++++++++ plex/bin/poster-audit | 109 ++++++++++++++ plex/bin/poster-repair | 134 ++++++++++++++++++ plex/docs/tv-poster-incident.md | 95 +++++++++++++ plex/lib/plex-api.sh | 95 +++++++++++++ plex/lib/posters.sh | 127 +++++++++++++++++ 9 files changed, 942 insertions(+), 1 deletion(-) create mode 100644 plex/.env.example create mode 100644 plex/README.md create mode 100755 plex/bin/plex-health create mode 100755 plex/bin/poster-audit create mode 100755 plex/bin/poster-repair create mode 100644 plex/docs/tv-poster-incident.md create mode 100644 plex/lib/plex-api.sh create mode 100644 plex/lib/posters.sh diff --git a/README.md b/README.md index ca19142..806e664 100644 --- a/README.md +++ b/README.md @@ -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 |