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.
# 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: