MCPcopy Index your code
hub / github.com/Jaredharper1/Sortarr

github.com/Jaredharper1/Sortarr @v0.9.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.9.0 ↗ · + Follow
2,510 symbols 9,170 edges 9 files 0 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Sortarr

GitHub tag GitHub commits since latest release GitHub last commit GitHub License GitHub Repo stars GHCR

What is Sortarr?

Sortarr is a read-only analytics and organisation tool for media libraries. It helps you identify missing media, mismatches, and optimisation opportunities using live data from providers like Sonarr, Radarr, Plex, Jellyfin, Tautulli, Jellystat and Streamystats.

Sortarr provides a data-driven management layer for your media library, using optional playback behaviour data to help you to optimise your library.

Sortarr does not modify, move, or rename your media. It can analyse Sonarr and Radarr libraries, or use Plex, Jellyfin, or Emby directly as a media source, and incorporates playback and history data to present actionable insights.


Key capabilities

  • Analyse libraries from Sonarr, Radarr, Plex, Jellyfin, or Emby in one interface
  • Overlay playback and history data from Tautulli, Tracearr, Jellystat, Streamystats, or Plex
  • Compare providers with Mismatch Center and playback-match diagnostics
  • Use provider-aware insights for Plex, Jellyfin, and Emby, including sessions, activities, library views, and match health
  • Drill down from series to seasons and episodes across Arr, Plex, and Jellyfin-backed views
  • Support multiple Sonarr and Radarr instances with cross-instance visibility
  • Protect access with three explicit auth modes: basic, basic_local_bypass, or external
  • Filter large libraries quickly with search, column filters, chips, and advanced rules
  • Show detailed media attributes such as size, bitrate, codecs, languages, FPS, and BPPF where the source supports them
  • Fully read-only operation for safety

Who this is for

Sortarr is designed for users who:

  • Use Plex, Jellyfin, Sonarr, Radarr, Tautulli, Jellystat, or Streamystats
  • Want data-driven insight into their library
  • Manage medium to large collections

Screenshots

Shows View:

Shows View Screenshot

Movies View:

Movies_View Screenshot


Documentation

Setup, deployment, reverse-proxy, and provider guides live in the Project wiki.

Project wiki: https://github.com/Jaredharper1/Sortarr/wiki


Supported providers

Media sources

  • Sonarr
  • Radarr
  • Plex
  • Jellyfin
  • Emby

History providers

  • Tautulli
  • Tracearr
  • Jellystat
  • Streamystats
  • Plex

Playback / Enrichment providers

  • Plex
  • Jellyfin
  • Emby

Authentication modes

  • basic: Sortarr challenges every client with its own Basic Auth credentials
  • basic_local_bypass: Sortarr still requires Basic Auth credentials, but allowed direct local peers can bypass the browser auth prompt. This mode is only supported with direct access and is intentionally invalid behind reverse proxies.
  • external: a trusted reverse proxy handles login and passes the configured upstream auth header; Sortarr does not require its own Basic Auth prompt in steady-state access. This mode is only supported behind a trusted reverse proxy and is not intended for direct exposure.

0.9.0 deployment/auth support boundary

Supported for 0.9.0: * basic with direct access * basic behind supported reverse-proxy paths * basic_local_bypass only with direct access * external only behind a trusted reverse proxy with an explicit non-wildcard trusted proxy setting

Not supported for 0.9.0: * basic_local_bypass behind reverse proxies * external in direct mode * external with wildcard-only trusted proxy configuration

What Sortarr does NOT do

Sortarr will never:

  • Modify or rename media files
  • Delete media
  • Change Sonarr or Radarr configuration
  • Trigger downloads automatically

All operations are read-only and safe.

Supporting the project

Enjoying the project? Looking for a way to contribute?

The best way to support Sortarr is simply to use it. If you encounter bugs or issues, please report them. Feature requests and suggestions are also very welcome.

Sortarr is a free project and I will never require donations to support or maintain it.

That said, if you would like to support me directly, in the interest of transparency I should mention that any donations will most likely be spent on beer and beer-related activities. If you're still willing to contribute, I appreciate it greatly.

Support me

License

MIT License

Core symbols most depended-on inside this repo

get
called by 3407
app.py
t
called by 609
static/app.js
_safe_int
called by 397
app.py
escapeHtml
called by 246
static/app.js
set
called by 96
app.py
_normalize_url
called by 77
app.py
i18n
called by 76
static/setup.js
_get_config
called by 67
app.py

Shape

Function 2,427
Route 43
Method 35
Class 5

Languages

TypeScript63%
Python37%

Modules by API surface

app.py917 symbols
static/app.js742 symbols
static/app.min.js719 symbols
static/setup.js128 symbols
static/column_widths.js3 symbols
static/index_bootstrap.js1 symbols

For agents

$ claude mcp add Sortarr \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact