Skip to content

Create dynamic playlists and collections in Jellyfin based on a set of rules, which will automatically update as your library changes.

License

Notifications You must be signed in to change notification settings

jyourstone/jellyfin-smartlists-plugin

Repository files navigation

Jellyfin SmartLists Plugin

Logo
Total GitHub Downloads GitHub Issues or Pull Requests Build and Release Jellyfin Version

Create smart, rule-based playlists and collections in Jellyfin.

This plugin allows you to create dynamic playlists and collections based on a set of rules, which will automatically update as your library changes. It works with all media types (movies, episodes, TV shows, music etc.) and features a modern web-based interface for easy list management - no technical knowledge required.

Requires Jellyfin version 10.11.0 and newer.

✨ Features

  • Modern Web Interface - A full-featured UI to create, manage and view status for smart playlists and collections
  • External Lists - Populate lists from MDBList, IMDb, Trakt, and TMDB — trending charts, watchlists, top lists, and more
  • Flexible Rules - Build simple or complex rules with an intuitive builder
  • Automatic Updates - Playlists and collections refresh automatically on library updates, playback status changes, or via scheduled tasks
  • Refresh Status & Statistics - Monitor ongoing refresh operations with real-time progress, view refresh history, and track statistics for all your lists
  • Media Types - Works with all Jellyfin media types
  • End User Config Page - Let regular users manage their own smart lists from the home screen (requires Plugin Pages and File Transformation plugins)
  • And more - View the documentation to see all features

🚀 Quick Start

  1. Install the Plugin: See installation instructions
  2. Access Plugin Settings: Click on "SmartLists" in the main sidebar under "Plugins" (or via Dashboard → My Plugins → SmartLists)
  3. Create Your First List: Use the "Create List" tab
  4. Example: Create a playlist or collection for "Unwatched Action Movies" with:
    • Media type: "Movie"
    • Genre contains "Action"
    • Is Played = False

⚙️ Configuration Interface

SmartLists features a modern web-based configuration interface with four main tabs:

📖 Documentation

Complete guide with installation instructions, detailed field descriptions, operators, examples, advanced configuration, and more!

💬 Support & Feedback

  • Bug Reports & Feature Requests: Please use the Issues tab to report bugs or suggest new features.
  • Community Support & General Help: For support questions or general help, please use Discussions.

📦 How to Install

  1. Add this repository URL to your Jellyfin plugin catalog:
https://raw.githubusercontent.com/jyourstone/jellyfin-plugin-manifest/main/manifest.json
  1. Install the plugin
  2. Restart Jellyfin

Complete installation instructions can be found in the documentation.

🙏 Credits

This project is based on the original SmartPlaylist plugin created by ankenyr. You can find the original repository here. All credit for the foundational work and the core idea goes to him.

⚠️ Disclaimer

The vast majority of the recent features, including the entire web interface and the underlying API changes in this plugin, were developed by an AI assistant. While I do have some basic experience with C# from a long time ago, I'm essentially the project manager, guiding the AI, fixing its occasional goofs, and trying to keep it from becoming self-aware.

About

Create dynamic playlists and collections in Jellyfin based on a set of rules, which will automatically update as your library changes.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Sponsor this project

Contributors 3

  •  
  •  
  •