#Help with custom overlay to distinguish local and debrid content

1 messages · Page 1 of 1 (latest)

white leafBOT
#

Welcome @icy heron!

Someone from <@&938443185347244033> will assist when they're available.

Including meta.log from the beginning is a huge help. Type !logs for more information.

After attaching your log, do not forget to hit the green check boxes when prompted by our bot.

#

You can press the "Close Post" button above or type /close at any time to close this post.

white leafBOT
#

Hi — looking for a second opinion on my setup and approach.

I've been using Kometa with no issues at all, but until now I’ve only used the default overlays and collections. Over the weekend, I simplified my Plex by merging two TV libraries into one, and two Movie libraries into one — so now each has a mix of local and Debrid content.

To help tell them apart, I’m trying to add a small “RD” overlay to all Debrid items in both libraries. In my head, I think it makes sense — just want to visually flag what’s cloud-based.

What I’ve done:
• Updated my config.yml
• Created rd_overlays.yml
• Created Movies.yml and TV.yml
• Designed an rd.png overlay and placed it in both the Overlays and Assets folders (just in case)

Everything ran overnight. My default overlays and collections work fine, but the RD overlay isn’t showing up, so I’m clearly missing something.

I’ve attached:
• config.yml
• rd_overlays.yml
• rd.png image
• Movies.yml
• TV.yml
• Screenshot of my file structure

My debrid files are mounted via rclone and their paths start with
/volume1/docker/pd_zurg/mnt/pd_zurg/movies/
/volume1/docker/pd_zurg/mnt/pd_zurg/shows/

So I tried to reflect that. It’s set to run again at 3am and would love any insight. Thanks in advance — and seriously, Kometa is awesome. It really makes Plex feel next level.

p.s. After striking out a few times over the weekend, I ran my files through ChatGPT for some help, and these reflect some of those tweaks (for better or worse).

light geyser
#

ChatGPT is typically worse than useless for Kometa. It typically just makes stuff up.

#

Not sure what's up with those screenshots but they are totally illegible

icy heron
#

oh weird - i can try screengrabbing them instead

light geyser
#

Please don't use screenshots for text.

icy heron
#

yeah i was reluctant to use ChatGPT but was getting desperate lol

light geyser
#

Also please provide a log showing this happening.

#

None of the stuff you have in TV.yml or Movies.yml can go in external files. It's also incorrect syntax

#

All that needs to be in config.yml.

#

does pd_zurg appear in the paths to any non-debrid content?

#

If you provide the full log, there will be a redacted copy of your config included in it.

icy heron
#

no non-debrid is just /volume1/video/Movies/ and /volume1/video/TV Shows

oblique caveBOT
#
Providing Log Files

1: Go to your config folder

2: Go into the logs folder

3: Look for meta.log (not meta.1.log etc)

4: Drag it in the Discord thread - the whole thing, DO NOT EDIT IT

5: Still confused? ¯_(ツ)_/¯

Log file too big? USE PASTEBIN or ZIP THE FILE

icy heron
#

ok will grab the log now. Although since it ran overnight I made some additional tweaks to the config but did not run it again yet

light geyser
light geyser
icy heron
#

the config I attached above is the latest one - is it not coming through OK? I can re-attach it in another format if needed.

light geyser
#

Is that all those images with black text on a transparent background?

#

Just drag the file in here. Oh, I see it's the last attachment.

white leafBOT
#

it's one image - white RD on a black background

light geyser
#

Your post above starts with four images that appear to be black text on a transparent background:

icy heron
#

up until now i've only ever used default settings with one config file. I think it's all the added files that are throwing me for a loop. and what goes where, etc.

#

ah my bad. must've gotten wonky when I attached them. I can drop everything in here one by one again if it helps, rather than attach them

light geyser
#

That all looks like text. What is it supposed to be showing? If it's a text file, just drag it in here.

icy heron
#

These are the 6 files I tried to attach:
• config.yml
• rd_overlays.yml
• rd.png image
• Movies.yml
• TV.yml
• Screenshot of my file structure

If you need all 6 I can drop them each in here one by one (although I already dropped in the config)

light geyser
#

I need the log.

#

These:

libraries:
  Movies:
    metadata_files:
    - Movies.yml   # << THIS

  TV Shows:
    metadata_files:
    - TV.yml       # << THIS

won't work since the things you have in those two files cannot be moved out of config.yml. Probably there are errors in the log related to that.

#

These:

libraries:
  Movies:
    overlay_files:
    - rd_overlays.yml  # << THIS

  TV Shows:
    overlay_files:
    - rd_overlays.yml  # << THIS

Are probably producing errors about not finding that file.

icy heron
#

maybe I should run it again right now then grab the fresh log after it runs, since i made some tweaks after the 3am run.

light geyser
#

No, just provide the log. If this config reflects your tweaks, it's not going to work.

#

It's quite broken.

icy heron
#

(for example, i noticed I had overlay_path last night before realizing it should be overlay_files. so that would should in the 3am log). But yes OK I will grab the log now. one sec..

light geyser
#

Based on what you have provided, that section of your config should look like this:

libraries:
  Movies:
    collection_files:                   # All this from Movies.yml has to be in config.yml
      - default: imdb
        template_variables:
          use_lowest: false
      - default: oscars
        template_variables:
          use_year_collections: false
          use_best_director: false
          collection_order: release
    overlay_files:
      - default: streaming
        template_variables:
          vertical_align: top
      - default: ratings
        template_variables:
          rating1: critic
          rating2: audience
          rating1_image: imdb
          rating2_image: rt_popcorn
          horizontal_position: left
          vertical_position: bottom
          rating_alignment: horizontal
          vertical_offset: 15
          horizontal_offset: 0
      - default: ribbon
        template_variables:
          use_common: false             # down to here
      - file: config/rd_overlays.yml    # and this file is in the config directory
    operations:
      mass_critic_rating_update: imdb
      mass_audience_rating_update: mdb_tomatoesaudience
      mass_user_rating_update: tmdb

  TV Shows:
    collection_files:                   # All this from TV.yml has to be in config.yml
      - default: imdb
        template_variables:
          use_lowest: false
      - default: streaming
    overlay_files:
      - default: streaming
        template_variables:
          vertical_align: top
      - default: ratings
        template_variables:
          rating1: critic
          rating2: audience
          rating1_image: imdb
          rating2_image: rt_popcorn
          horizontal_position: left
          vertical_position: bottom
          rating_alignment: horizontal
          vertical_offset: 15
          horizontal_offset: 0
      - default: ribbon
        template_variables:
          use_common: false             # down to here
      - file: config/rd_overlays.yml    # and this file is in the config directory
    operations:
      mass_episode_critic_rating_update: imdb
      mass_episode_audience_rating_update: tmdb
icy heron
white leafBOT
#

📝 If you want to review this again, jimmiegee:
:one: Right-click (or long press with phone) on the message that contains the log
:two: Select: Copy Message Link
:three: Use the command: /logscan <message_link> or !logscan <message_link> and paste the value copied from the previous step where you see <message_link> 📝

#
**User Info**

Author of Linked Message: Jimmiegee
Person who Invoked the Command: Mr. Carrot
File Name: meta.zip

Table of Contents:
Page 01: User Info
Page 02: Kometa Info
Page 03: Kometa Summary Info
Page 04: Kometa Config.yml YAML Validation
Page 05: Plex Configuration - Section 1
Page 06: Plex Configuration - Section 2
Page 07: Rec 01 - 💥 [CRITICAL]
Page 08: Rec 02 - ❌ [ERROR]
Page 09: Rec 03 - ⚠️ [WARNING]
Page 10: Rec 04 - ⚠️ RUN_ORDER WARNING

light geyser
#

Sure, works fine

white leafBOT
light geyser
#

Where is rd.png in the filesystem?

icy heron
#

I placed a copy of it in both the overlays folder and the assets folder cuz i wasn't 100% which one it should go in. so it's in both.

#

up until now, the assets folder was empty

light geyser
#

In a subfolder of overlays? Loose in there? What's the specific location?

#

rd_overlays.yml neds to change:

overlays:
  Real-Debrid:
    overlay:
      name: rd
      file: config/overlays/rd.png  # adjust if needed
      group: Platform
      back_color: "#00000000"
      back_radius: 40
      back_width: 90
      back_height: 40
      horizontal_offset: 0
      vertical_offset: 20
      vertical_align: top
      horizontal_align: center
    plex_all: true         # You need a builder to provide a list that the filters act on
    filter:
      filepath: "pd_zurg"  # don't need regex since this string is unique to the target paths
icy heron
#

loose in there. also loose in the assets folder, no subfolders.

light geyser
#

As expected, log shows that Kometa can't find either of those files in your original config:

| Reading in Metadata Files                                                                          |
|                                                                                                    |
| Reading file: Movies.yml                                                                           |
| Config Error: Path not found: Movies.yml                                                           |
| Config Error: No Paths Found for metadata_files                                                    |
|                                                                                                    |
| Reading in Overlay Files                                                                           |
|                                                                                                    |
| Reading file: rd_overlays.yml                                                                      |
| Config Error: Path not found: rd_overlays.yml                                                      |

then

| Reading in Metadata Files                                                                          |
|                                                                                                    |
| Reading file: TV.yml                                                                               |
| Config Error: Path not found: TV.yml                                                               |
| Config Error: No Paths Found for metadata_files                                                    |
|                                                                                                    |
| Reading in Overlay Files                                                                           |
|                                                                                                    |
| Reading file: rd_overlays.yml                                                                      |
| Config Error: Path not found: rd_overlays.yml                                                      |

EVEN IF IT HAD FOUND Movies.yml and TV.yml, they wouldn't have worked.

#

You are attempting to use MDBList as a ratings source without a valid MDBlist API Key:

| mdblist attribute not found                                                                        |

Which later causes:

| Operation 1/1                                                                                      |
|     mass_critic_rating_update: imdb                                                                |
|     mass_audience_rating_update: mdb_tomatoesaudience                                              |
|     mass_user_rating_update: tmdb                                                                  |
| Config Error: mass_audience_rating_update cannot use mdb_tomatoesaudience without a successful MDBList Connection |
#

And you have no Plex details in the config, which causes:

| Config Error: url attribute must be set under plex globally or under this specific Library         |

Kometa can't do anything if it can't connect to Plex.

icy heron
#

damn - did not catch that. I just pulled in the rd_overlays.yml that you provided above and replaced the old one. Now I need to update my config.yml appropriately

#

should i replace the Libraries portion of my config with what you provided above?

light geyser
#

Yes, the libraries section of your config is broken.

icy heron
#

doing that now...

light geyser
#

It seems like going through one of the setup walkthroughs might be a good idea just to get the basic lay of the land.

icy heron
#

yeah 100% agreed. I did a deep dive when I first started with Kometa back in the pmm days, but I need to have a closer look again. thanks for your help with this. Mind taking a look if this looks alright:

white leafBOT
icy heron
#

also, you mentioned that I have no Plex details in the config. Is that there now with your updates?

light geyser
#

Still no Plex or MDBList, so it's not going to work as is.

icy heron
#

ah!

light geyser
icy heron
#

looking now...

light geyser
#

In your TV library, you are setting the episode ratings:

    operations:
      mass_episode_critic_rating_update: imdb
      mass_episode_audience_rating_update: tmdb  

But you aren't using episode-level ratings overlays, so that's a lot of wheel-spinning to no visible effect.

Also, you're setting the audience rating to tmdb, but in the rating config you're putting a rotten tomatoes icon next to that number so EVEN IF the ratings were targeted correctly that's probably not what you want:

      - default: ratings
        template_variables:
          rating1: critic
          rating1_image: imdb
          rating2: audience
          rating2_image: rt_popcorn  # << HERE
icy heron
#

yeah, it's a mess. damn.

white leafBOT
#

The following was shared by @icy heron and was automatically redacted by Luma as it may have contained sensitive information.

If you feel this message should not have been redacted, resend it with !noredact in your message to avoid redaction.

#

Just needing to add these details, correct?

plex:
url:
token: (redacted by Luma)
timeout: 60
db_cache: 40
clean_bundles: false
empty_trash: false
optimize: false
verify_ssl: true
tmdb:
apikey: (redacted by Luma)
cache_expiration: 60
language: en
mdblist:
apikey: (redacted by Luma)
cache_expiration: 60

light geyser
#

Yes, though you have TMDB there already.

icy heron
#

alright, think i got that sorted. If I drop it in here, does it automatically redact the sensitive info?

light geyser
#

Yes.

white leafBOT
#

mind giving it a look again?

icy heron
#

I know I need to clean up the audience ratings like you said.

light geyser
icy heron
#

so do I even need the separate movies.yml and tv.yml files? looks like everything is incorprated in this one config.

light geyser
#

As I've mentioned before those files were broken and wouldn't work.

icy heron
#

seems like everything was broken...

icy heron
#

think I'm close to finalizing this. was reading through the wiki and looking at the ratings formatting. Mind taking another look? Under TV Shows, I changed rating2 from 'audience' to 'user' so it works with the rt_popcorn image. And I played around with operations to mirror one of the default configurations I found on the wiki. Only thing I think is missing is 'template_variables: builder_level: episode' for the operations command? - but I'm not sure where to put that.

white leafBOT
icy heron
#

sorry i think that's the old one...

white leafBOT
light geyser
#

I changed rating2 from 'audience' to 'user' so it works with the rt_popcorn image

I don't know what this means. Any of the ratings images work with any of the three slots [critic/audience/user]

icy heron
#

sorry i may have misunderstood when you said "you're setting the audience rating to tmdb, but in the rating config you're putting a rotten tomatoes icon"

light geyser
icy heron
#

i'm happy to drop them from the eps altogether

#

would i just drop that 'operations' section?

light geyser
#

Here's what you have:

  TV Shows:
    collection_files:                   # All this from TV.yml has to be in config.yml
      - default: imdb
        template_variables:
          use_lowest: false
      - default: streaming
    overlay_files:
      - default: streaming
        template_variables:
          vertical_align: top
      - default: ratings
        template_variables:
          rating1: critic
          rating2: user
          rating1_image: imdb
          rating2_image: rt_popcorn
          horizontal_position: left
          vertical_position: bottom
          rating_alignment: horizontal
          vertical_offset: 15
          horizontal_offset: 0
      - default: ribbon
        template_variables:
          use_common: false             # down to here
      - file: config/rd_overlays.yml    # and this file is in the config directory
    operations:
      mass_episode_critic_rating_update: 
        - imdb
        - 2.0
      mass_episode_audience_rating_update: 
        - tmdb
        - 2.0      
#
    operations:
      mass_episode_critic_rating_update: 
        - imdb
        - 2.0
      mass_episode_audience_rating_update: 
        - tmdb
        - 2.0      

Hey, Kometa, change the critic rating on every episode to the IMDB rating for that episode; if IMDB doesn't have one, set the rating to 2

Hey, Kometa, change the audience rating on every episode to the TMDB rating for that episode; if IMDB doesn't have one, set the rating to 2

#

Then you don't use those values elsewhere so you're spending a whole bunch of time setting these values on EVERY EPISODE for essentially no reason.

#
      - default: ratings
        template_variables:
          rating1: critic
          rating2: user
          rating1_image: imdb
          rating2_image: rt_popcorn

Hey, Kometa, take the critic rating that is set on the show, and draw it on the poster with an IMDB icon next to it.
Hey, Kometa, take the user rating that is set on the show, and draw it on the poster with an RT Popcorn icon next to it.

If either of those are empty, the overlay won't appear.

You aren't setting the user rating on the show to anything, so whatever it is, for sure it isn't the RT Popcorn rating.

You also aren't setting the critic rating on the show to anything, so the value will be whatever you have told Plex to put in there [maybe nothing]

Kometa has no idea what the values in those fields actually are [IMDB, TMDB, whatever]; you are the only one who knows that.

icy heron
#

OK got it, thanks for pointing that out. I'll look closer at that link. Appreciate it!

icy heron
#

Hey. After the edits to the files that we made yesterday, I let Kometa run at its normal 3am time. This morning I looked specifically for whether it added the 'RD' overlay to the Real Debrid content, and I'm not seeing that badge. Mind taking a look at my metalog? I scanned through it and I do see a mention of "Overlay Error: overlay attribute's group requires the weight attribute" - not sure if that's why?
(Or if you see any other errors with the set-up)

white leafBOT
#

📝 If you want to review this again, jimmiegee:
:one: Right-click (or long press with phone) on the message that contains the log
:two: Select: Copy Message Link
:three: Use the command: /logscan <message_link> or !logscan <message_link> and paste the value copied from the previous step where you see <message_link> 📝

light geyser
#

You need to either remove the group from your overlay or add a weight.

icy heron
#

Thanks, will add "weight: 100" if that's a good value.

icy heron
#

I think I may have caught one more issue/inconsistency?
In my config, I have:
file: config/rd_overlays.yml

But in my rd_overlays.yml I have:
file: overlays/rd.png (without the config)

I think that second path should also start with config ?

It's confusing to me because I don't actually have a folder called "config" but maybe that's how the path is parsed since it's finding config/rd_overlays.yml just fine.

light geyser
#

In your docker setup, you pointed to a folder that Kometa sees as /config; that's the folder where rd_overlays.yml is located.

The path to the image inside that file should be:

      file: config/overlays/rd.png  # adjust if needed

as noted above

icy heron
#

perfect, thank you!

#

what threw me off is calling "config" a folder. When I look at the file structure, the only "config" I see is my yml file. But I'm semi-new to this so I'm sure I'm not thinking about it right.

light geyser
#

In the configuration of the docker container, you will have something mapping /docker/kometa to /config.

On your disk as seen on the host, you have:

/docker/kometa/config.yml
/docker/kometa/rd_overlays.yml

but inside the docker container, Kometa sees those same files as:

/config/config.yml
/config/rd_overlays.yml

This is standard docker stuff, nothing to do with Kometa specifically.

icy heron
#

really helpful thank you!

#

i just made sure it matches correclty. may run the container again now rather than wait til 3am

icy heron
#

Well good news - it works! Bad news., I'm an idiot and the artwork is insanely huge lol.

light geyser
#

also not transparent unless you want the white background.

icy heron
#

nope not transparent either. man.

#

guessing it's not enough to re-run the process without the 'RD' overlay to undo it?

light geyser
#

That's all you need to do. Remove that overlay from the config and run Kometa.

icy heron
#

then learn photoshop lol

#

nice. thank you for your help

light geyser
#

If you want it similarly-sized to other overlays:

icy heron
#

This.is.amazing. I was literally trying to do this and striking out. I'm trying to find the download button now lol

#

my goal is to get it more or less here, hopefully using settings similar this this yml

#

i'm guessing on that vertical_offset=50 but figured I'd try it out for starters.

light geyser
#

click on it, right click.

#

The image is 122 × 84 pixels so if you want a background it should be bigger than that. Maybe you don't even want a background lozenge.

#
overlays:
  Real-Debrid:
    overlay:
      name: rd
      file: config/overlays/rd.png # adjust if needed
      horizontal_offset: 15
      vertical_offset: 15
      vertical_align: bottom
      horizontal_align: left
    plex_all: true # You need a builder to provide a list that the filters act on
    filter:
      filepath: "pd_zurg"  # don't need regex since this string is unique to the target paths
icy heron
#

this is the one i came up with (122x122px, 72dpi) but yours is a thinner font which I like.

#

i dont actually see a download lnk when i right-click

light geyser
#

Click on the image to get here:

icy heron
#

I like your position of the image, but i'm trying to get it a little higher to go above where I place the IMDb rating, whch you can see in the Arrival poster I posted above

light geyser
#

then right click

light geyser
icy heron
#

yeah i have vert_offset=50 to see if that'll work. havent run it yet.

light geyser
icy heron
#

I uploaded the new, smaller RD logo (thank you!) into my overlays folder. when i run Kometa, I assume it will replace the big bad ugly RD instead of placing it on top of it.

#

also - do you have a tip jar on this channel? you've been insanely helpful and patient. thanks again.

light geyser
#

You can support the tool by sponsoring the project on github. I personally have tip information in my profile.

icy heron
#

MUCH closer to what I had in mind. Had to mess with the positioning a few times. Next, I'm going to try to mess with the solid black background to see if I can get it closer to the 'transparent gray' of the IMDb and RT ratings. Thanks again for your help and for the RD badge.

light geyser
# icy heron MUCH closer to what I had in mind. Had to mess with the positioning a few times....

The simplest way to do that might be to leverage the built-in backdrop lozenge and make the "RD" either an image showing just the RD OR a text-based overlay instead of an image. This is how all the rest of the default overlays do this, so there is no need to reinvent the wheel if you want it to match the existing ones exactly.

If you want to adjust the size of that background as you dial it in, this is far simpler than touching the image over and over.

#

You could also change the background in the image if you'd rather, of course.

#

For example:

overlays:
  Real-Debrid:
    overlay:
      name: text(RD)
      horizontal_offset: 50
      vertical_offset: 50
      vertical_align: bottom
      horizontal_align: left
      font: DejaVuSans-Bold.ttf
      font_size: 63
      font_color: "#FFFFFF"
      back_color: "#00000099"
      back_radius: 30
      back_padding: 30
    plex_all: true
    filter:
      filepath: "pd_zurg"
icy heron
#

ah so no need to point to an image file then.

light geyser
#
      font: DejaVuSans-Bold.ttf
      font_size: 63
      font_color: "#FFFFFF"
      back_color: "#00000099"
      back_radius: 30
      back_padding: 30
      back_width: 200
      back_height: 60
light geyser
icy heron
#

these are the settings that give me my current placement:

light geyser
#

You might need to play with the offsets a bit.

#

That's where a test library with one movie in it is invaluable.

icy heron
#

true!

light geyser
#

Also, since there is only one overlay here you don't need either the group or the weight.

#

Those are used to pick between multiple overlays

#

Where an item might qualify for more than one in the group.

icy heron
#

makes sense. gonna try play with it a bit now, mixing my values with your overlay file above...

oblique caveBOT
#

antwanchild used !aenh

@icy heron, anything else needed here? If not, please type /close and hit enter. Please respond within 24 hours of this message or it will be archived.

icy heron
#

/close