Skip to content

Plex Attributes

Configuring Plex is required in order to connect to your libraries.

A plex mapping can be either in the root of the config file as global mapping for all libraries, or you can specify the plex mapping individually per library.

Below is a plex mapping example and the full set of attributes:

plex:
  url: http://192.168.1.12:32400
  token: ####################
  timeout: 60
  db_cache: 4096
  clean_bundles: true
  empty_trash: true
  optimize: false
Attribute Allowed Values Default Required
url Plex Server URL
Example: http://192.168.1.12:32400
N/A
token Plex Server Authentication Token N/A
timeout Plex Server Timeout 60
db_cache Plex Server Database Cache Size None
clean_bundles Runs Clean Bundles on the Server after all Collection Files are run false
empty_trash Runs Empty Trash on the Server after all Collection Files are run false
optimize Runs Optimize on the Server after all Collection Files are run false
Warning

Do Not Use the Plex Token found in Plex's Preferences.xml file.

If you need help finding your Plex authentication token, please see Plex's support article.

This script can be run on a remote Plex server, but be sure that the url provided is publicly addressable, and it's recommended to use HTTPS.

Multi-Plex Instance Setup:

The below config.yml extract details how to set up multiple Plex servers within the one PMM instance, in this example there are two plex servers which are receiving the same Collection File:

libraries:
  Movies:
    collection_files:
      - file: config/Movies.yml
  Movies_on_Second_Plex:
    library_name: Movies
    collection_files:
      - file: config/Movies.yml
    plex:
      url: http://plex.boing.bong
      token: SOME_TOKEN
      timeout: 360
      db_cache: 8192
...
plex:
  url: http://plex.bing.bang
  token: SOME_TOKEN
  timeout: 60
  db_cache: 4096
  clean_bundles: false
  empty_trash: false
  optimize: false
...

The plex instance at the bottom is the "global" plex server. Unless otherwise specified, any connection to plex is assumed to be using that plex server. The first "Movies" library entry is on the global plex server.

The "Movies_on_Second_Plex" library is found on the second plex server. Note that this library has its own plex section that lists the attributes that differ from the global plex instance, namely the URL, token and timeout. The library on the second server is also called "Movies", but since you can't have two keys (in this scenario, libraries) with the same name, it is named Movies_on_Second_Plex in the config.yml, and the library_name: attribute contains the name of the library on the actual plex server.