Tip: Hover a movie card for about 0.75s for details. Click an actor or director name in the panel to fill the search bar and set Match → Actor or Director. Click the poster for native-size image. File size turns yellow or red if that movie probably needs more bandwidth than your latest Plex sample (header P bars, or full numbers under Settings → Connectivity); your TV’s Wi‑Fi can differ.
Play uses your loaded library and Plex playlists. Discovery (other tab) is for TMDB filmography gaps — titles you don’t have yet. Use the section below to start playback from an existing Plex playlist or to build new playlists from movies already in your library.
No playlist action yet.
Creates a Plex playlist from titles in your library that match the people you enter.
No person-filtered playlist action yet.
Rule: includes all matching movies with year from 1982 through 2016.
No genre/rating playlist action yet.
No preview yet.
Guides are Markdown files in the repo docs/ folder. Start with Getting started, then Connecting your TV if you use an LG set. Links like help:00-getting-started.md in a doc jump to another guide in the menu below.
Tip: Plot and poster preview appear after you hold the pointer on the title or poster for about 0.75 seconds. Then you can move onto the floating panel; click the image there for a larger poster. — By year & TMDB rating uses TMDB’s discover list (no actor/studio): set min and/or max year and optional min rating. Other modes find credits vs your library. Min rating uses TMDB vote average (0–10). Filtered out: documentaries (TMDB genre or “documentary” in text), TV movies / news, and typical “making of” / behind-the-scenes extras. Optional Exclude non-theatrical tightens results to US limited/wide theatrical (browse/studio) and drops TMDB-marked direct-to-video titles (all modes when details are known). Cache: TMDB responses stay on disk under data/tmdb-discovery-cache/ until you use Clear TMDB cache below. The Plex library list is the same in-memory snapshot as the Dashboard tab (refreshed when you click Refresh Movies there, or when a scheduled snapshot runs). Poster/debug: server appends diagnostics to data/plexdash-discovery.log.
| # | Cover | Title | Year | Genres | TMDB | In library | In playlist | Known for | Action |
|---|
| # | Captured | Movies | Change vs Prev | Action |
|---|
Environment variables load first on the server. Use this page to persist values between runs. Secret fields show only the start and end; use Copy for the full token.
1.Banner image: Leave the URL blank to use a poster from your Plex library (most-played, or any title). The server can supply a thumb from its library cache even before you click Load Movies. Check Hide banner image below to remove the hero strip entirely.
When enabled and Banner Image URL is left blank, the hero strip loads wide movie art from fanart.tv (requires a TMDB id on the Plex item). Titles are ordered by most played first, then newest added to the library. Downloaded files live under data/fanart-banner-cache/ with LRU eviction when the cache exceeds your size budget.
When enabled, Discovery uses the average of TMDB vote average and OMDb IMDb score (both on a 0–10 style scale) for sorting, filtering, and table display. That blends two communities’ ratings and can track closer to how you personally weight critic vs crowd scores. Requires a free API key from OMDb. Responses are cached on disk under data/omdb-cache/ (cleared with Clear TMDB cache on the Discovery tab). On the Dashboard, hovering a movie (after the usual delay) loads IMDb, Rotten Tomatoes, and Metacritic from OMDb when the title has a TMDB id from Plex, merges TMDB vote average, and updates the line under the title to show a combined Avg ★ plus per-source pills.
apikey= on each request (see omdbapi.com).Fanart banner artwork is stored separately from TMDB discovery caches. Clearing it forces the next hero request to download again (subject to your refresh schedule).
Server-side log: fanart.tv downloads, HTTP errors, cache evictions, Plex-thumb fallbacks, and startup prefetch. Up to 200 lines kept in memory (lost on server restart).
Loading…
Playback video goes directly from Plex to the TV; this app does not proxy the movie stream. When healthy, each connectivity target is probed about every 45s (internet, Plex /identity, TMDB, OMDb, LG SSAP). After a failure the server retries with exponential backoff (about 4s→90s per target, with jitter) and never stops. The Plex speed sample uses a ~4 minute interval when OK; on failure it retries sooner (about 20s→3 min). The Dashboard library hint caches Plex title count for 90s to limit duplicate API calls. LG volume polls about every 15s when the TV responds; on errors it retries with the same style of exponential backoff (TV only, not Plex).
Last update: —
Each time this browser loads fresh data from /api/connectivity, a compact sample is saved locally (same machine as this tab). Use the chart to spot trends. Data stays in your browser — not on the server.
On-disk paths are under the server’s working directory (shown below). TMDB / OMDb caches are cleared from the Discovery tab. The movie grid row reflects this browser’s saved copy (localStorage), not the server.
| Cache | Location | Size | Files | Updated | Notes |
|---|
Quick filter chips above the movie grid default to Action, Comedy, Thriller, Adventure, and Science Fiction (including Sci‑Fi) when those genres exist in your library. Use Include any for OR-matching; Exclude if any hides titles that also have those genres (e.g. comedy but not documentary). Open More genres for + pin, ⊘ exclude, and −. Pinned/hidden lists and your active include / exclude filters are saved in this browser and survive refresh.
/api/v3/movie requests.The server takes one automatic snapshot per day and skips it silently if the movie count hasn't changed since the previous snapshot.