Advanced Configuration

Advanced Configuration#

If the prebuilt presets aren’t suitable for your needs, you may want to set up an advanced configuration.

Layout of a Config file#

The layout of the config.yaml file is relatively straightforward:

presets:

  preset_name:
    plugin1:
      plugin1_option1: value1

This creates a preset named preset_name, which contains the made-up plugin plugin1. Under each plugin are its settings. A preset can contain multiple plugins.

Preset Inheritance#

You can modularize your presets via preset inheritance. For example,

presets:

  TV Show:
    presets:
      - "Jellyfin TV Show by Date"

    overrides:
      tv_show_directory: "/ytdl_sub_tv_shows"

  TV Show Only Recent:
    presets:
      - "TV Show"
      - "Only Recent"

    overrides:
      only_recent_date_range: "3weeks"

This creates two presets:

  • TV Show
    • Inherits the prebuilt Jellyfin TV Show by Date preset

    • Sets the output tv show directory

  • TV Show Only Recent
    • Inherits the TV Show preset made above it and the Only Recent prebuilt preset

    • Sets only_recent preset to only keep the last 3 weeks worth of videos

Inheritance makes it easy to extend existing presets to include logic for your specific needs.