Skip to content

Config File

Kometa uses a YAML configuration file; this file contains settings that determine how Kometa behaves, and the required connection details needed to connect to Plex Media Server, Radarr, Sonarr, and other third-party services via API.

By default, and unless otherwise stated, Kometa looks for the configuration file at /config/config.yml.

A template Configuration Template File can be found in the GitHub Repo.

If Kometa cannot find the config.yml at the default location, it will attempt to rename config.yml.template for the user. If the template file cannot be found, Kometa will attempt to download a copy from the GitHub repository in line with the user's current branch. If this also fails, the user will have to download the Configuration Template File from the above link and manually rename it to config.yml.

Quickstart Web UI

The team at Kometa have developed a tool called Quickstart which is a guided Web UI that helps you create a Configuration File for use with Kometa.

Connectors

This table outlines the third-party services (also known as Connectors) that Kometa can make use of. Each service has specific requirements for setup that can be found by clicking the links within the table or in the sidebar.

Connectors

Although most connectors are not required for core Kometa functionality, some (such as Trakt and MDBList) are commonly used for third-party lists, so we would recommend configuring This connector.

Hover over the numbered icons for additional information

Attribute Required
plex
tmdb
libraries
playlist_files
settings
webhooks
tautulli
github
omdb
mdblist
notifiarr
gotify
ntfy
anidb
radarr
sonarr
trakt
mal

Configuration Template File Example

The below in an extract of the config.yml.template and is the initial values that are set if you follow any of the installation guides.

config.yml.template
# yaml-language-server: $schema=https://raw.githubusercontent.com/kometa-team/kometa/nightly/json-schema/config-schema.json
## Do not remove the above line
## This file is a template remove the .template to use the file

## Plex and TMDb are the two connections which are required for the script to run

plex:                              # Can be individually specified per library as well; REQUIRED for the script to run
  url: http://192.168.1.12:32400   # Enter Plex URL (REQUIRED); this needs to point to your server, not app.plex.tv
  token:                           # Enter Plex Token (REQUIRED)
  timeout: 60
  db_cache: 40
  clean_bundles: false
  empty_trash: false
  optimize: false
  verify_ssl: true
tmdb:
  apikey:                          # Enter TMDb API Key (REQUIRED)
  cache_expiration: 60
  language: en
  region:

                                   ## At least one library has to be configured for the script to do anything meaningful
libraries:                         # This is called out once within the config.yml file
  Movies:                          # These are names of libraries in your Plex
    remove_overlays: false         # Set this to true to remove all overlays
    collection_files:
    - default: basic               # This is a file within Kometa's defaults folder
    - default: imdb                # This is a file within Kometa's defaults folder
                                   # see the wiki for how to use local files, folders, URLs, or files from git
    overlay_files:
    - default: ribbon              # This is a file within Kometa's defaults folder
                                   # see the wiki for how to use local files, folders, URLs, or files from git
  TV Shows:
    remove_overlays: false         # Set this to true to remove all overlays
    collection_files:
    - default: basic               # This is a file within Kometa's defaults folder
    - default: imdb                # This is a file within Kometa's defaults folder
                                   # see the wiki for how to use local files, folders, URLs, or files from git
    overlay_files:
    - default: ribbon              # This is a file within Kometa's defaults folder
                                   # see the wiki for how to use local files, folders, URLs, or files from git
  Anime:
    collection_files:
      - default: basic             # This is a file within Kometa's defaults folder
      - default: anilist           # This is a file within Kometa's defaults folder
                                   # see the wiki for how to use local files, folders, URLs, or files from git
  Music:
    collection_files:
      - file: config/Music.yml     # This is a local file THAT YOU MIGHT CREATE
playlist_files:
  - default: playlist              # This is a file within Kometa's defaults folder
    template_variables:
      libraries: Movies, TV Shows  # list of libraries that you want the Kometa Defaults playlists to look at
                                   # see the wiki for how to use local files, folders, URLs, or files from git
settings:
  run_order:
  - operations
  - metadata
  - collections
  - overlays
  cache: true
  cache_expiration: 60
  asset_directory:
  - config/assets
  asset_folders: true
  asset_depth: 0
  create_asset_folders: false
  prioritize_assets: false
  dimensional_asset_rename: false
  download_url_assets: false
  show_missing_season_assets: false
  show_missing_episode_assets: false
  show_asset_not_needed: true
  sync_mode: append
  minimum_items: 1
  default_collection_order: release
  delete_below_minimum: true
  delete_not_scheduled: false
  run_again_delay: 2
  missing_only_released: false
  only_filter_missing: false
  show_unmanaged: true
  show_unconfigured: true
  show_filtered: false
  show_unfiltered: false
  show_options: true
  show_missing: true
  show_missing_assets: true
  save_report: false
  tvdb_language: eng
  ignore_ids:
  ignore_imdb_ids:
  item_refresh_delay: 0
  playlist_sync_to_users:
  playlist_exclude_users:
  playlist_report: false
  verify_ssl: true
  custom_repo:
  overlay_artwork_filetype: webp_lossy
  overlay_artwork_quality: 90
webhooks:                          # Can be individually specified per library as well
  changes:
  delete:
  error:
  run_end:
  run_start:
  version:
tautulli:                          # Can be individually specified per library as well
  url: http://192.168.1.12:8181    # Enter Tautulli URL (Optional)
  apikey:                          # Enter Tautulli API Key (Optional)
github:
  token:                           # Enter GitHub Personal Access Token (Optional)
omdb:
  apikey:                          # Enter OMDb API Key (Optional)
  cache_expiration: 60
mdblist:
  apikey:                          # Enter MDBList API Key (Optional)
  cache_expiration: 60
notifiarr:
  apikey:                          # Enter Notifiarr API Key (Optional)
gotify:
  url: http://192.168.1.12:80      # Enter Gotify server URL (Optional)
  token:                           # Enter Gotify Token (Optional)
ntfy:
  url: http://192.168.1.12:80      # Enter ntfy server URL (Optional)
  token:                           # Enter ntfy Access Token (Optional)
  topic:                           # Enter ntfy Topic (Optional)
anidb:
  cache_expiration: 60
  language: en
  enable_mature: false
radarr:                            # Can be individually specified per library as well
  url: http://192.168.1.12:7878    # Enter Radarr server URL (Optional)
  token:                           # Enter Radarr API Key (Optional)
  add_missing: false
  add_existing: false
  upgrade_existing: false
  monitor_existing: false
  root_folder_path: "S:/Movies"    # This value is CASE SENSITIVE
  monitor: true
  availability: announced
  quality_profile: HD-1080p        # This value is CASE SENSITIVE
  tag:
  search: false
  radarr_path:                    # This value is only needed in combination with the *_existing settings
  plex_path:                      # This value is only needed in combination with the *_existing settings
  ignore_cache: false
sonarr:                            # Can be individually specified per library as well
  url: http://192.168.1.12:8989    # Enter Sonarr server URL (Optional)
  token:                           # Enter Sonarr API Key (Optional)
  add_missing: false
  add_existing: false
  upgrade_existing: false
  monitor_existing: false
  root_folder_path: "S:/TV Shows"  # This value is CASE SENSITIVE
  monitor: all
  quality_profile: HD-1080p        # This value is CASE SENSITIVE
  language_profile: English
  series_type: standard
  season_folder: true
  tag:
  search: false
  cutoff_search: false
  sonarr_path:                     # This value is only needed in combination with the *_existing settings
  plex_path:                       # This value is only needed in combination with the *_existing settings
  ignore_cache: false
trakt:
  client_id:                       # Enter Trakt Client ID (Optional)
  client_secret:                   # Enter Trakt Client Secret (Optional)
  pin:
  authorization:
                                   # authorization section is autofilled by the script
    access_token:
    created_at:
    expires_in:
    refresh_token:
    scope: public
    token_type:
mal:
  client_id:                       # Enter MyAnimeList Client ID (Optional)
  client_secret:                   # Enter MyAnimeList Client Secret (Optional)
  cache_expiration: 60
  localhost_url:
  authorization:
                                   # authorization section is autofilled by the script
    access_token:
    expires_in:
    refresh_token:
    token_type: