Self-hosted companion for Radarr, Sonarr, Lidarr, Readarr and Whisparr that slowly searches for missing and below-cutoff media.
JudoChinX/rangarr
Orchestration service that staggers and interleaves automated searches across Radarr, Sonarr, Lidarr, Readarr and Whisparr instances to protect indexers and API limits.
- Stars
- 265
- Forks
- 7
- Open issues
- 0
- Last commit
- 28 days ago
What is it?
Rangarr is a lightweight service that coordinates automated media searches across several *arr instances: Radarr, Sonarr, Lidarr, Readarr and Whisparr (v2 and v3). Instead of letting each instance fire searches at the same time, it allocates a global pool of search slots, interleaves requests between instances and shared indexers, and spaces them out so that indexers and API limits are not overwhelmed.
Search behavior is configurable. Missing-item searches and upgrade searches run on separate intervals, weighted distribution can prioritize certain instances, and tag filters or active-hour windows limit which items are searched and when. Sonarr and Whisparr v2 searches can be grouped by season, and Radarr, Sonarr and Whisparr items below their custom format score target can be included, which *arr's Cutoff Unmet endpoint does not return.
Configuration lives in a config.yaml file with environment variable expansion, or can be done entirely through environment variables. The project runs as a Docker container, communicates only with the *arr instances you define, and stores no database or persistent state.
Key features
- 01Manages Radarr, Sonarr, Lidarr, Readarr, Whisparr v2 and v3 from one service.
- 02Distributes search slots globally and interleaves requests across instances.
- 03Runs missing-item and upgrade searches on independent schedules.
- 04Groups Sonarr and Whisparr v2 searches by season, with fallback to episodes for airing seasons.
- 05Finds items below custom format score targets that Cutoff Unmet misses.
- 06Filters searches by tags and limits them to configured active hours.
Use cases
- Running a large Radarr and Sonarr library without flooding a shared indexer with searches.
- Searching for missing content aggressively while checking for upgrades less often.
- Limiting automated searches to overnight hours to avoid peak indexer load.
- Deploying the service alongside existing *arr containers in Docker Compose.
Quick start
- 1
Download the example config.yaml and compose.yaml from the repository, rename them, and set file permissions
- 2
Edit config.yaml with your *arr API keys and hostnames
nano config.yaml - 3
Start Rangarr with Docker Compose (keep dry_run: true until logs look correct)
docker compose up -d
Things to know
- You need existing Radarr, Sonarr, Lidarr, Readarr or Whisparr instances and their API keys.
- Setup is configuration-heavy, requiring a hand-written config.yaml or many environment variables.
In collections
Topics
FAQ
- What is rangarr?
- Orchestration service that staggers and interleaves automated searches across Radarr, Sonarr, Lidarr, Readarr and Whisparr instances to protect indexers and API limits. Rangarr is a lightweight service that coordinates automated media searches across several *arr instances: Radarr, Sonarr, Lidarr, Readarr and Whisparr (v2 and v3). Instead of letting each instance fire searches at the same time, it allocates a global pool of search slots, interleaves requests between instances and shared indexers, and spaces them out so that indexers and API limits are not overwhelmed.
- Is rangarr free to use? What license does it have?
- rangarr is open source under the MIT license. Check the license terms before using it in commercial products.
- Is rangarr still maintained?
- Actively maintained. The last commit to rangarr was on Oct 10, 2026.
- What can I use rangarr for?
- Running a large Radarr and Sonarr library without flooding a shared indexer with searches. Searching for missing content aggressively while checking for upgrades less often. Limiting automated searches to overnight hours to avoid peak indexer load. Deploying the service alongside existing *arr containers in Docker Compose.
- How do I install rangarr?
- Download the example config.yaml and compose.yaml from the repository, rename them, and set file permissions Edit config.yaml with your *arr API keys and hostnames: nano config.yaml Start Rangarr with Docker Compose (keep dry_run: true until logs look correct): docker compose up -d
- Where can I get rangarr?
- The source code and installation instructions are on GitHub: https://github.com/JudoChinX/rangarr
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Open-source tool that syncs TRaSH Guides and custom configs into Sonarr and Radarr instances, automating custom formats and quality profiles.
A Prometheus exporter that scrapes the *arr suite (Sonarr, Radarr, Lidarr, etc.) so their health and performance can be monitored and graphed.
Open-source web app for users to request movies and TV shows, with approval workflows for Jellyfin, Plex, and Emby libraries.
Ombi is a self-hosted media request tool that lets users ask for movies, music and TV shows and syncs with Plex, Emby and Jellyfin.
Self-hosted platform for managing Radarr and Sonarr quality profiles and custom formats, syncing them across instances and testing releases.