A Plex-compatible Metadata Provider for FanEdit Movies
784
A Plex-compatible Custom Metadata Provider for FanEdit movies using the FanEdit.org Database (IFDB).
Based on the template (https://github.com/circulon/plex-metadata-provider)
Written with the assistance of Claude Code (https://www.claude.com/product/claude-code)
We provide a docker image with the defaults already setup, for
linux/amd64 and linux/arm64 (e.g. Raspberry Pi 4/5 on a 64-bit OS, ARM
NAS devices). You can run it with docker-compose or docker.
The default port is 32900
Using docker
docker run -d \
-p 32900:32900 \
--name fanedit-provider \
circulon/fanedit-provider
Using docker compose
services:
fanedit-provider:
image: circulon/fanedit-provider
ports:
- "32900:32900"
restart: unless-stopped
The image includes an org.opencontainers.image.icon label pointing to a logo, for use in Docker management GUIs that support reading it (e.g. Unraid, Portainer, dashboard tools):
https://raw.githubusercontent.com/circulon/fanedit-provider/main/provider-logo.png
Each PMS manages it's own set of Metadata Providers and Agents. This Provider can be used by multiple PMS instances without issue
<server name> -> Metadata AgentsAdd the Provider
Add Provider In the Metadata Providers sectionhttp://<host_ip>:32900 in the dialog and hit Save
host_ip maybe 127.0.0.1 or something elseFanEdit Movies listed in the Metadata ProvidersAdd the Agent
Metadata Agents sectionAdd AgentFanedit MoviesFanEdit Movies as the Primary providerPlex NFO Movie
.nfo filesPlex Local Media
SaveAdvanced section
FanEdit Movies as the agentSave or Add dependingRefresh All MetadataEnjoy your content!
All options are set via environment variables
INCLUDE_EXTRA_IN_SUMMARY : true|false - default true
changes in the summaryMINIMUM_EXACT_SCORE minimum score for automatic (non-manual) matching.
MINIMUM_MANUAL_SCORE minimum threshold for manual "fix match" searches
match or fix_match dialogFANEDIT_ORG_TIMEOUT seconds to wait for fanedit.org to respond
FANEDIT_ORG_CONNECT_TIMEOUT seconds to wait for a connection (fails fast when the site is down)
FANEDIT_ORG_MAX_CANDIDATES maximum search results considered per search
FANEDIT_ORG_MATCH_TYPE fanedit.org keyword match mode: all, any or exact
PORT port to listen on
WORKERS number of worker processes (each keeps its own cache)
THREADS request threads per worker
Internal caching is used to reduce hits on upstream sources. The caches are per worker process.
ENTRY_CACHE_TTL_SECONDS number of seconds entries are cached for
ENTRY_CACHE_MAX_SIZE number of entries to hold
SEARCH_CACHE_TTL_SECONDS number of seconds search results are cached for
SEARCH_CACHE_MAX_SIZE number of searches to hold
linux/arm64 as well as linux/amd64503 (so Plex retries) instead of a cached "not found"405, 400) and no longer include internal error text.envFANEDIT_ORG_TIMEOUT, FANEDIT_ORG_CONNECT_TIMEOUT, FANEDIT_ORG_MAX_CANDIDATES, FANEDIT_ORG_MATCH_TYPE, WORKERS, THREADSmajor.minor version (e.g. FanEditProvider/1.1)changes not always being included in the summaryContent type
Image
Digest
sha256:76e98c6e2…
Size
56.9 MB
Last updated
about 1 month ago
docker pull circulon/fanedit-provider