I run PMM nightly (not lsio image) and Plex(hotio image) on Unraid 6.11.2. At the top of my config.yml file I will usually specify the version that this config.yml file works with.
I run PMM nightly (not lsio image) and Plex(hotio image) on Unraid 6.12.4. At the top of my config.yml file I will usually specify the version that this config.yml file works with.
<br>
<br>
@ -16,71 +16,54 @@ Unzip the fonts into `config/metadata/overlays/fonts/` to use this config withou
You can put the fonts elsewhere, but if you choose to do that, you will need to adjust the ratings section (rating1_font:, rating2_font:, rating3_font:) of the overlays within the config.yml file to point to the location you chose.
You can put the fonts elsewhere, but if you choose to do that, you will need to adjust the ratings section (rating1_font:, rating2_font:, rating3_font:) of the overlays within the config.yml file to point to the location you chose.
I also prefer to have a copy of the local assets so that if I need to recover to the original posters, they are there. I use grab-all-posters.py from chazlarson's repo to help with that: https://github.com/chazlarson/Media-Scripts/tree/main/Plex-Meta-Manager and the following in my .env:
I also prefer to have a copy of the local assets so that if I need to recover to the original posters, they are there. I use grab-all-posters.py from chazlarson's repo to help with that: https://github.com/chazlarson/Media-Scripts/tree/main/Plex-Meta-Manager and the following in my .env:
```
```
ARTWORK=1
ADD_SOURCE_EXIF_COMMENT=0 # If set to 1, add the source URL to the image EXIF tags
BACKGROUND_NAME=background
CURRENT_POSTER_DIR=current_posters # put downloaded current posters and artwork here
CAST_DEPTH=100
DEFAULT_YEARS_BACK=20 # If there is no "last run date" stored, go this many years back [integer; negative values will be made positive]
CURRENT_POSTER_DIR=\\nzwhs01\data\media\posters\
DELAY=1
DELAY=1
KEEP_COLLECTIONS=bing,bang # List of collections to keep
FOLDERS_ONLY=0 # If set to 1, just build out the folder hierarchy; no image downloading
INCLUDE_COLLECTION_ARTWORK=1 # should get-all-posters retrieve collection posters?
GRAB_BACKGROUNDS=1 # If set to 1, backgrounds are retrieved [into a folder `backgrounds`]
ONLY_COLLECTION_ARTWORK=0 # should get-all-posters retrieve ONLY collection posters?
- pmm:streaming # Streaming on Disney+, Netflix, etc.
- pmm:streaming # Streaming on Disney+, Netflix, etc.
- pmm:universe # Marvel Cinematic Universe, Wizarding World, etc.
overlay_path:
overlay_path:
- remove_overlays:false# Set to true if you want to remove overlays
- remove_overlays:false# Set to true if you want to remove overlays
- reapply_overlays:false# If you are doing a lot of testing and changes like me, keep this to true to always reapply overlays
- reapply_overlays:false# If you are doing a lot of testing and changes like me, keep this to true to always reapply overlays
# - reset_overlays: tmdb # if you want to reset the poster to default poster from tmdb
# - reset_overlays: tmdb # if you want to reset the poster to default poster from tmdb
# - file: config/metadata/overlays/aspect.yml # Creates aspect ratio overlay
- pmm:aspect # Creates aspect ratio overlay
# - file: config/metadata/overlays/aspect.yml
- pmm:aspect
# template_variables:
template_variables:
# overlay_level: season
builder_level:season
# - file: config/metadata/overlays/aspect.yml
- pmm:aspect
# template_variables:
template_variables:
# overlay_level: episode
builder_level:episode
- pmm: audio_codec # FLAC, DTS-X, TrueHD, etc. style:standard/compact. compact is default
- pmm: audio_codec # FLAC, DTS-X, TrueHD, etc. style:standard/compact. compact is default
- pmm:audio_codec
- pmm:audio_codec
template_variables:
template_variables:
overlay_level:season
builder_level:season
- pmm:audio_codec
- pmm:audio_codec
template_variables:
template_variables:
overlay_level:episode
builder_level:episode
# - pmm: content_rating_uk # UK BBFC content ratings
# - pmm: content_rating_uk # UK BBFC content ratings
# - pmm: content_rating_uk
# - pmm: content_rating_uk
# template_variables:
# template_variables:
# overlay_level: season
# builder_level: season
# - pmm: content_rating_uk
# - pmm: content_rating_uk
# template_variables:
# template_variables:
# overlay_level: episode
# builder_level: episode
- pmm:content_rating_us_show # US MPAA content ratings
- pmm:content_rating_us_show # US MPAA content ratings
- pmm:content_rating_us_show
- pmm:content_rating_us_show
template_variables:
template_variables:
overlay_level:season
builder_level:season
- pmm:content_rating_us_show
- pmm:content_rating_us_show
template_variables:
template_variables:
overlay_level:episode
builder_level:episode
# - pmm: commonsense # Commonsense content ratings Age 2+, Age 14+, etc.
# - pmm: commonsense # Commonsense content ratings Age 2+, Age 14+, etc.
# - pmm: commonsense
# - pmm: commonsense
# template_variables:
# template_variables:
# overlay_level: season
# builder_level: season
# - pmm: commonsense
# - pmm: commonsense
# template_variables:
# template_variables:
# overlay_level: episode
# builder_level: episode
# - pmm: direct_play
# - pmm: direct_play
# - pmm: direct_play
# - pmm: direct_play
# template_variables:
# template_variables:
# overlay_level: season
# builder_level: season
# - pmm: direct_play
# - pmm: direct_play
# template_variables:
# template_variables:
# overlay_level: episode
# builder_level: episode
- pmm:studio # DreamWorks Studios, Lucasfilm Ltd, etc.
- pmm:studio # DreamWorks Studios, Lucasfilm Ltd, etc.
- pmm:studio
- pmm:studio
template_variables:
template_variables:
overlay_level:season
builder_level:season
- pmm:studio
- pmm:studio
template_variables:
template_variables:
overlay_level:episode
builder_level:episode
- pmm:streaming
- pmm:streaming
- pmm:episode_info # SE##E## information in bottom right and works with overlay_level episode
- pmm:episode_info # SE##E## information in bottom right and works with builder_level episode
template_variables:
overlay_level:episode
- pmm:flixpatrol # Top 10 flixpatrol for 'this_year', positioned on the left and works with overlay_level show
template_variables:
template_variables:
position:left
builder_level:episode
time_window:this_year
- pmm:language_count # blank means 1 audio language track, dual means 2, multi means > 2 and works with builder_level show, episode, and season
- pmm:language_count # blank means 1 audio language track, dual means 2, multi means > 2 and works with overlay_level show, episode, and season
- pmm:language_count
- pmm:language_count
template_variables:
template_variables:
overlay_level:season
builder_level:season
- pmm:language_count
- pmm:language_count
template_variables:
template_variables:
overlay_level:episode
builder_level:episode
- pmm:languages # Languages spoken and subtitles with associated flags and two-digit lang codes
- pmm:languages # Languages spoken and subtitles with associated flags and two-digit lang codes
- pmm:languages # Languages spoken and subtitles with associated flags and two-digit lang codes
- pmm:languages # Languages spoken and subtitles with associated flags and two-digit lang codes
template_variables:
template_variables:
use_subtitles:true
use_subtitles:true
- pmm:languages # Languages spoken and subtitles with associated flags and two-digit lang codes
- pmm:languages # Languages spoken and subtitles with associated flags and two-digit lang codes
template_variables:
template_variables:
overlay_level:season
builder_level:season
- pmm:languages # Languages spoken and subtitles with associated flags and two-digit lang codes
- pmm:languages # Languages spoken and subtitles with associated flags and two-digit lang codes
template_variables:
template_variables:
use_subtitles:true
use_subtitles:true
overlay_level:season
builder_level:season
- pmm:languages # Languages spoken and subtitles with associated flags and two-digit lang codes
- pmm:languages # Languages spoken and subtitles with associated flags and two-digit lang codes
template_variables:
template_variables:
overlay_level:episode
builder_level:episode
- pmm:languages # Languages spoken and subtitles with associated flags and two-digit lang codes
- pmm:languages # Languages spoken and subtitles with associated flags and two-digit lang codes
template_variables:
template_variables:
use_subtitles:true
use_subtitles:true
overlay_level:episode
builder_level:episode
- pmm:mediastinger # Mediastinger overlay when the media item contains a stinger at the end of the movie/show or during the credits and works with overlay_level show
- pmm:mediastinger # Mediastinger overlay when the media item contains a stinger at the end of the movie/show or during the credits and works with builder_level show
- pmm:network # ABC, CBC, NBC, FOX, etc.
- pmm:network # ABC, CBC, NBC, FOX, etc.
- pmm:network
- pmm:network
template_variables:
template_variables:
overlay_level:season
builder_level:season
- pmm:network
- pmm:network
template_variables:
template_variables:
overlay_level:episode
builder_level:episode
- pmm: ratings # Ratings with custom fonts matched to the style of the rating, font_size, and on the right in 'square' format. overlay_level:show has 3 ratings max
- pmm: ratings # Ratings with custom fonts matched to the style of the rating, font_size, and on the right in 'square' format. builder_level:show has 3 ratings max
template_variables:
template_variables:
rating1:user
rating1:user
rating1_image:rt_tomato
rating1_image:rt_tomato
@ -428,7 +438,7 @@ libraries:
rating3_font_size:70
rating3_font_size:70
horizontal_position:right
horizontal_position:right
- pmm: ratings # Ratings with custom fonts matched to the style of the rating, font_size, and on the right in 'square' format. overlay_level:episode has 2 ratings max
- pmm: ratings # Ratings with custom fonts matched to the style of the rating, font_size, and on the right in 'square' format. builder_level:episode has 2 ratings max
template_variables:
template_variables:
# rating1: user
# rating1: user
# rating1_image: rt_tomato
# rating1_image: rt_tomato
@ -446,54 +456,56 @@ libraries:
rating2_font_size:70
rating2_font_size:70
horizontal_position:right
horizontal_position:right
overlay_level:episode
builder_level:episode
- pmm:resolution # 4K HDR, 1080P FHD, etc. and works with overlay_level show, episode, and season
- pmm:resolution # 4K HDR, 1080P FHD, etc. and works with builder_level show, episode, and season
- pmm:resolution
- pmm:resolution
template_variables:
template_variables:
overlay_level:season
builder_level:season
- pmm:resolution
- pmm:resolution
template_variables:
template_variables:
overlay_level:episode
builder_level:episode
- pmm:ribbon # Used for ribbon in bottom right
- pmm:ribbon # Used for ribbon in bottom right
- pmm:runtimes # Runtime information in bottom right and works with overlay_level episode
template_variables:
template_variables:
overlay_level:episode
style:red
- pmm:status # Airing, Returning, Ended, Canceled and works with overlay_level show
- pmm:runtimes # Runtime information in bottom right and works with builder_level episode
- pmm:streaming # Streaming on Disney+, Netflix, etc.
- pmm:versions # Will show duplicates for that media item and works with overlay_level show, episode, and season
template_variables:
template_variables:
builder_level:episode
- pmm:status # Airing, Returning, Ended, Canceled and works with builder_level show
- pmm:streaming # Streaming on Disney+, Netflix, etc.
- pmm:versions # Will show duplicates for that media item and works with builder_level show, episode, and season
# template_variables:
# back_width: 1000
# back_width: 1000
# back_height: 1500
# back_height: 1500
# back_color: "#f52891cc"
# back_color: "#f52891cc"
overlay_level:show
- pmm:versions # Will show duplicates for that media item and works with builder_level show, episode, and season
- pmm:versions # Will show duplicates for that media item and works with overlay_level show, episode, and season
template_variables:
template_variables:
# back_width: 1000
# back_width: 1000
# back_height: 1500
# back_height: 1500
# back_color: "#f52891cc"
# back_color: "#f52891cc"
overlay_level:season
builder_level:season
- pmm:versions # Will show duplicates for that media item and works with overlay_level show, episode, and season
- pmm:versions # Will show duplicates for that media item and works with builder_level show, episode, and season
template_variables:
template_variables:
# back_width: 1000
# back_width: 1000
# back_height: 1500
# back_height: 1500
# back_color: "#f52891cc"
# back_color: "#f52891cc"
overlay_level:episode
builder_level:episode
- pmm:video_format # Remux, DVD, Blu-Ray, etc. in bottom left and works with overlay_level show, episode, and season
- pmm:video_format # Remux, DVD, Blu-Ray, etc. in bottom left and works with builder_level show, episode, and season
- pmm:video_format
- pmm:video_format
template_variables:
template_variables:
overlay_level:season
builder_level:season
- pmm:video_format
- pmm:video_format
template_variables:
template_variables:
overlay_level:episode
builder_level:episode
settings:
settings:
asset_directory:
asset_directory:config/assets/TV Shows/
- config/assets/TV Shows/
prioritize_assets:true# The asset_directory contains folders per media item with respective posters
prioritize_assets:true# The asset_directory contains folders per media item with respective posters
operations:
operations:
split_duplicates:false# Splits all duplicate movies/shows found in this library
split_duplicates:false# Splits all duplicate movies/shows found in this library
assets_for_all:false# Search in assets for images for every item in your library
assets_for_all:false# Search in assets for images for every item in your library
delete_unmanaged_collections:true# Any manually added collection outside of PMM will be deleted
delete_collections:
configured:false# False - Collection must be an Unconfigured Collection to be deleted (collection is not in the config file of the specific PMM run).
managed:false# False - Collection must be an Unmanaged Collection to be deleted (the collection does not have the PMM label)
mass_user_rating_update:mdb_tomatoes # Update user ratings with mdb_tomatoes
mass_user_rating_update:mdb_tomatoes # Update user ratings with mdb_tomatoes
mass_critic_rating_update:imdb # Update critic ratings with imdb
mass_critic_rating_update:imdb # Update critic ratings with imdb
mass_audience_rating_update:tmdb # Update audience ratings with tmdb
mass_audience_rating_update:tmdb # Update audience ratings with tmdb
@ -512,7 +524,6 @@ settings: # Can be individually specif
cache:true
cache:true
cache_expiration:60
cache_expiration:60
asset_directory:config/assets
asset_directory:config/assets
missing_path:config/missing
asset_folders:true
asset_folders:true
asset_depth:0
asset_depth:0
create_asset_folders:false
create_asset_folders:false
@ -547,14 +558,13 @@ settings: # Can be individually specif
verify_ssl:true
verify_ssl:true
check_nightly:true
check_nightly:true
playlist_exclude_users:
playlist_exclude_users:
webhooks:(redacted)
webhooks:# Can be individually specified per library as well
error:(redacted)
error:(redacted)
run_start:(redacted)
run_start:(redacted)
run_end:(redacted)
run_end:(redacted)
changes:
changes:(redacted)
- notifiarr
version:(redacted)
version:
delete:(redacted)
delete:
plex:# Can be individually specified per library as well; REQUIRED for the script to run
plex:# Can be individually specified per library as well; REQUIRED for the script to run
url:(redacted)
url:(redacted)
token:(redacted)
token:(redacted)
@ -562,11 +572,12 @@ plex: # Can be individually specif
clean_bundles:true
clean_bundles:true
empty_trash:true
empty_trash:true
optimize:true
optimize:true
db_cache:# 20000 MB is approximately 20GB which is what I use. Adjust for your system
tmdb:# REQUIRED for the script to run
tmdb:# REQUIRED for the script to run
apikey:(redacted)
apikey:(redacted)
language:en
language:en
region:''
cache_expiration:60
cache_expiration:60
region:
tautulli:# Can be individually specified per library as well
tautulli:# Can be individually specified per library as well
url:(redacted)
url:(redacted)
apikey:(redacted)
apikey:(redacted)
@ -612,12 +623,12 @@ sonarr: # Can be individually specified