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>
29 lines
904 B
Markdown
29 lines
904 B
Markdown
# 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](CLAUDE.md) for the environment details and repo conventions, and
|
|
[docs/odin-access.md](docs/odin-access.md) for how to reach odin and drive its API.
|
|
|
|
## Collections
|
|
|
|
| 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 |
|
|
-->
|
|
|
|
## Adding a collection
|
|
|
|
```bash
|
|
cp -r _template <collection-name>
|
|
```
|
|
|
|
Fill in its `README.md`, then add a line to the table above.
|