Kometa Documentation

repository·master·Indexed 25 days ago

https://github.com/kometa-team/kometa

A media library management tool and metadata editor for Plex that automates the creation of collections, overlays, and metadata customizations. It integrates with third-party services such as TMDb, Trakt, IMDb, and AniDB, and supports automation via Sonarr and Radarr. Kometa allows users to manage metadata through external configuration files, providing granular control over artwork, titles, and summaries.

Tokens
190K
Snippets
497
Records
922
Agent score
82%

What's inside Kometa

  1. Overview of Tautulli Builders

    master

    Tautulli Builders allow you to leverage Tautulli's watch analytics to find items in your Plex libraries. These builders can identify the most watched or most popular Movies and Shows.

    Supported Builders:

    BuilderDescriptionWorks with MoviesWorks with ShowsWorks with Playlists/Custom Sort
    tautulli_popularGets the Tautulli Most Popular ListYesYesYes
    tautulli_watchedGets the Tautulli Most Watched ListYesYesYes
  2. Overview of Kometa capabilities

    master

    Kometa is a tool for managing media libraries (such as Plex) by providing granular control over metadata, collections, and overlays.

    Key capabilities include:

    • Metadata Customization: Customize artwork, titles, and summaries.
    • Automated Collections: Use services like TMDb, Trakt, and IMDb to build collections based on trending content, streaming services, networks, studios, genres, actors, or decades.
    • Overlays: Create visual overlays for your media.
    • Automation: Integrate with Sonarr and Radarr to automate library growth.
    • External Management: Since metadata is managed via configuration files outside the media server database, customizations are easy to back up, move between servers, or reapply after a database loss.
  3. Overview of tmdb_discover Schema Validation Plan

    master
    The tmdb_discover schema validation plan aims to replace the loose additionalProperties: true configuration in collection-schema.json with a strictly typed object. This update ensures that the tmdb_discover block rejects unknown keys, enforces cross-dependencies between parameters, and correctly infers whether the context is a Movie or a TV show to enforce mutual exclusion of parameters.
  4. Overview of Letterboxd Builders

    master

    Kometa uses letterboxdpy to power Letterboxd support. This allows you to find items based on data from Letterboxd.com. While builder inputs remain consistent with other Kometa builders, the underlying data is now driven by the fields exposed by letterboxdpy rather than Kometa's custom scraping logic.

    Note: All Letterboxd builders listed below work with Movies and Playlists/Custom Sort, but they do not work with Shows.

  5. Overview of Kometa Modules

    master

    The modules/ directory contains the core logic and integration components for Kometa. It includes modules for interacting with various media metadata providers (e.g., TMDb, IMDb, AniList), notification services (e.g., Apprise, Gotify, Ntfy), and media server integrations (e.g., Plex, Radarr, Sonarr).

    Key functional areas include:

    • Metadata Providers: TMDb, IMDb, AniDB, AniList, TVDb, Trakt, Letterboxd, etc.
    • Media Server & Management: Plex, Radarr, Sonarr, Tautulli.
    • Notifications: Apprise, Gotify, Notifiarr, Ntfy, Webhooks.
    • Core Utilities: Config management, file handling (Metadata, Overlay, Playlist), and validation.
  6. Overview of Kometa Builders

    master
    Builders are components in Kometa that use third-party services to source items for collections. You can use multiple builders within a single collection to aggregate items from various sources. Builders range from local metadata (Plex) to external web services (TMDb, Trakt, IMDb, etc.) and manual files.
  7. Understand Schema Validation and Gap Reporting

    master

    Kometa's configuration validation includes a schema validation mode that checks your configuration files against official JSON schemas.

    Key behaviors:

    • Type Errors: If a value does not match the expected type (e.g., providing a list where a boolean is expected), it is treated as a hard Error.
    • Additional Properties (Gaps): If you use a key that is not defined in the schema (e.g., a typo or an unsupported option), it is not treated as an error. Instead, it is collected into a Schema Gap Report. This allows you to identify unused or unsupported keys without failing the validation process.
    • Missing Schemas: If the schema directory is missing, the validator will issue a warning but will not fail the validation.
  8. Understand Kometa File Blocks

    master

    Kometa uses a hierarchical structure called File Blocks to organize libraries. A library configuration consists of parent attributes (like collection_files or playlist_files) containing one or more blocks. Each block is defined by a - and must specify a Location Type and a Path (or identifier).

    libraries:
      Movies:
        collection_files:   # Parent Attribute
          - default: tmdb       # Block 1
          - default: imdb       # Block 2
  9. Use Dynamic Collections

    master

    Dynamic Collections allow Kometa to automatically generate collections based on library criteria rather than manual list definitions. Examples include:

    • Collections for top TMDb people (e.g., Bruce Willis).
    • Collections for each decade (e.g., Best of 1990s).
    • Collections for moods/styles in Music libraries.
    • Collections based on Trakt User Lists.

    Refer to the Dynamic Collections documentation for a full list of available options.

  10. Use AniList Builders to find anime

    master

    Kometa provides several AniList Builders to find anime content based on AniList.co features. These builders can be used for Movies, Shows, and in some cases, Playlists and Custom Sorts.

    Available AniList Builders

    BuilderDescriptionMoviesShowsPlaylists/Custom Sort
    anilist_searchFinds anime using specified AniList search parameters
    anilist_top_ratedFinds every anime in AniList's Top Rated Anime list
    anilist_popularFinds every anime in AniList's Popular Anime list
    anilist_trendingFinds every anime in AniList's Trending Anime list
    anilist_relationsFinds anime by AniList ID and its relation tree (excludes Character and Other relations)
    anilist_studioFinds all anime specified by a specific AniList Studio ID
    anilist_idFinds the specific anime specified by an AniList ID
    anilist_userlistFinds anime from a specific AniList User's list