Skip to content

v2.6.0 — your own catalogue as a source

Choose a tag to compare

@Dim145 Dim145 released this 17 Oct 12:37

A library can now read its genres from an arr-metadata-server: the self-hosted
metadata server that answers Sonarr, Radarr and Plex from a catalogue of its own, in which
every correction locked by hand wins over TMDB, TheTVDB and the arr services. Those
corrections now reach the genres this app writes. It holds films, series and anime, so any
library can read from it, alone or ahead of the others.

Setting it up

  1. ARR_METADATA_URL is the server's address as this app reaches it — two containers
    on one Docker network reach it by name, http://arr-metadata-server:8080. The address
    its Keys & network page gives Plex, ending in /plex, works too.
  2. Let this app in. The server's Plex provider admits callers by address: add the
    address the server sees this app call from under Keys & network › Allowed
    addresses
    , beside Plex's. A server that asks for a key instead
    (AMS_PLEX_AUTH=apikey) takes one issued there in ARR_METADATA_API_KEY.
  3. Add ams to a library's sources. In the console, Reads from is now an ordered
    list: move, drop or add each source. Config › Checks asks the server and says what
    is still in the way — a refused address, a host name it does not answer to, a provider
    switched off, a redirect.
{ "library": "Films", "type": "standard-movie", "providers": ["ams", "tmdb"] }

An item is asked for by the ids Plex gives it — a film by its TMDB or IMDb id, a series by
its TheTVDB or TMDB id, an item matched by the server's own agent by the key that agent
gave it — and by title and year otherwise. Asking keeps the work in the server's
catalogue, as when Plex asks, so a title search takes a match only with the item's title,
accents aside, from a year either side. An item with no year, or a work found under
another of its titles, is left to the next source, or to a binding.

What else changes

  • A source that refuses this app — an address the server does not let in, a wrong
    TMDB key — sits out the rest of the run after saying why, once in the log and on the
    run's report. It used to be asked again for every title, and its titles were failed and
    kept behind the retry backoff. A title the other sources all miss now waits for the next
    run; in a library that merges its sources, a title that needs the refusing one waits
    too, without the others being asked for it.
  • TMDB asks for an item as what Plex holds it as. In an anime library that is a Plex
    film section, it looked among its series, so a film's id could fetch another work.
  • Bindings: the picker searches as what Plex holds the item as, an anime library
    reading ams takes TheTVDB and IMDb pins alike, and AniDB pins are offered only where
    Jikan or AniList can read them.
  • Stopping a run — a cancel, or the give-up — no longer loses an item whose write was
    already with Plex: it finishes, and is counted and cached. A server stop arriving right
    after a job was cancelled no longer hangs.

Upgrading

Pull and restart: nothing to change unless you want the new source.

A run asks again only for what changed on this side. Titles already tagged keep their
genres until they are asked again — Forget them in the library browser, or run the
library with --force — which matters in two cases:

  • an anime library that is a Plex film section and reads TMDB, to have its films read as
    films;
  • a correction locked in arr-metadata-server after a title was tagged, or a title another
    source answered while arr-metadata-server refused this app.