Plex Meta Manager
Video
Useful Links
Related Videos
Credits
Plex Meta Manager - Liberate Your Library with Auto Collections & More
Home Β· meisnate12/Plex-Meta-Manager Wiki
GitHub
Plex Meta Manager Wiki
GitHub - meisnate12/Plex-Meta-Manager: Python script to update metadata information for movies, shows, and collections as well as automatically build collections.
GitHub
GitHub Project Page
​
Writer / Producer
Sycotix
Contributor
Drazzizzi
Testing / Proofreading
DiscDuck
Testing / Proofreading
Hawks
IBRABETA Tester
DickensCider
IBRABETA Tester
oldcrazyeye
IBRABETA Tester
ptchernegovski
IBRABETA Tester
sadstan
Thank you for choosing to collaborate with IBRACORP
πŸ™
​
Please read our disclaimer https://docs.ibracorp.io/#disclaimer.

Prerequisites

  • Unraid OS (however, the official documentation explains the process for other platforms)
  • Docker
  • Plex Media Server
Trakt List Use:
  1. 2.
    Choose a Name for the application.
  2. 3.
    Enter urn:ietf:wg:oauth:2.0:oob for Redirect uri.
  3. 4.
    Click the SAVE APP button.
  4. 5.
    Note down the Client ID and Client Secret.

Unraid Docker Template

Plex-Meta-Manager / meisnate12's Repository / Tools

Feature List

Plex Meta Manager provides you with the following functions:
  • Creating and updating Plex collections using multiple sources including Trakt, TMDb, TVDb, IMDb, Letterboxd, AniDB, AniList, MyAnimeList, Tautulli, and by filtering your existing Plex library.
  • Adding media that is in your configured collections but not in your Plex library to Radarr/Sonarr.
  • Setting custom posters and title cards for your media and collections without requiring the posters to be placed alongside the media itself. As new media is added, Plex Meta Manager can also create folders in the location where accompanying image assets can be placed.
  • Add custom overlays for your media, including 4K and HDR overlays/banners.
  • Using YAMLs to edit media metadata such as titles, sort titles, and descriptions.
  • Adding custom episode orders for Plex via YAMLs.

Installation

Plex Meta Manager

  1. 1.
    Head to the Apps tab of Unraid (Community Applications), and search plex-meta-manager in the upper-right search box.
  2. 2.
    Click the download icon on the plex meta manager container by meisnate12.
  3. 3.
    Change the Network Type to your custom docker network.
  4. 4.
    Amend your Docker values using Add another Path, Port, Variable, Label or Device. Example config:
Config Type
Name
Key
Value
Container Path
Host Path
Access Mode
Description
Variable
Time to Run
PMM_TIME
6:00
N/A
N/A
N/A
Time to update each day. Format: HH:MM
Variable
Divider Character
PMM_DIVIDER
=
N/A
N/A
N/A
The character that divides the sections
Variable
Screen Width
PMM_WIDTH
100
N/A
N/A
N/A
An integer between 90 and 300
Path
Config Storage Path
N/A
N/A
/config
/mnt/user/appdata/plex-meta-manager
Read/Write
Translation from docker container path to host path
  • A full list of docker values can be found on the Docker Installation page
  • If you wish to enable one-time Run, add -r to Post Arguments by enabling Advanced View in the top right of Unraid.
  • The image below shows the above values in the Unraid WebUI.
  1. 1.
    Hit Apply, and allow Unraid to download the docker container.
  2. 2.
    Navigate to the Docker tab in Unraid, and stop the plex-meta-manager container if it has auto-started.
  3. 3.
    Create config.yml and library.yml files as-per the documentation in the Host Path you set (/mnt/user/appdata/plex-meta-manager in the example)
  4. 4.
    Once finished, run the container. Voila! Logs are located in yourhostpath/logs.

Advanced Installation (Authenticating Trakt or MyAnimeList)

  1. 1.
    Stop the Plex Meta Manager docker container if it's currently running.
  2. 2.
    Follow the instructions for either Trakt or MyAnimeList, and add the relevant values to your config.yml
  3. 3.
    Edit the Time to Run variable to reflect a time that is NOT the current time. We don't want the script to be running right now. Set Run to false if you've chosen to add that variable. Then, start the container.
  4. 4.
    Left-click the container in the Docker tab and select to open the terminal for the container. (>_)
  5. 5.
    Run python plex_meta_manager.py -r, and watch as the script comes to life.
  6. 6.
    You'll now notice, as per the configuration documentation on these sources, the script will ask you to click a URL and return an input. Go ahead and do so in this terminal window.
  7. 7.
    Once finished, and the script succeeds in connecting to your source, press Ctrl + C to cancel the script - and close out of the terminal window. Go ahead and stop the docker container, restore your container settings to your original preferences (restore Time to Run), and start the container.

Configuration

The configuration is done in separate YAML files that reference each other.
You can approach this in two ways:
  1. 1.
    One config.yml and one library.yml
  2. 2.
    One config.yml , one TV.yml and one Movies.yml
In our setup, we will be using option 2.
The reason for this is so we can have two completely separate configurations for TV and Movies and how we want the metadata on either to come together.
See the sidebar for the YML templates we've created and will show in our video. It's up to you to make any changes you like adhering to the official documentation.
Once you feel your config is ready you can start/restart the container. Note that at this time you don't see anything in the container logs. Instead, open the terminal for the contain (not Unraid) and paste the following the execute the script:
1
python plex_meta_manager.py -r
Copied!
This will then show you the script running and if there are any issues with the deployment to help you troubleshoot.

Usage

Any time you want to execute the script manually
  • Left-click the container in the Docker tab and select to open the terminal for the container. (>_)
  • Run:
1
python plex_meta_manager.py -r
Copied!

Special Thanks

  • To meisnate12 for creating this project and to his team for their continued support. Head to his GitHub and show him your support.
  • Our Discord community and our Community Leaders DiscDuck and Hawks for their input and documentation.
  • Community member Drazzizzi for helping put together this documentation and bringing fresh ideas to share.
Please support the developers and creators involved in this work to help show them some love.
❀
​

Final Words

We hope you enjoyed this guide. It was conceptualized, written, and implemented by our Community Leader Sycotix.
Our work sometimes takes months to research and develop. If you want to help support us please consider:
Thank you for being part of our community
Last modified 6d ago