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>
904 B
904 B
scripts
Operational scripts for my self-hosted environment (odin, an Unraid host running Docker Compose behind Authelia and a Pangolin/Newt tunnel).
Each script collection lives in its own top-level folder and is fully self-contained — its own README, config, and dependencies. Collections never import from each other.
See CLAUDE.md for the environment details and repo conventions, and docs/odin-access.md for how to reach odin and drive its API.
Collections
| Collection | What it does | Runs on |
|---|---|---|
| plex | Health checks and library-artwork repair for the Plex server | this workstation, targeting odin |
Adding a collection
cp -r _template <collection-name>
Fill in its README.md, then add a line to the table above.