Prowlarr Setup Guide: Clean Indexer Management for Sonarr and Radarr
Run Prowlarr on a private management network with persistent configuration, add Sonarr and Radarr by their internal URLs, and sync one tested indexer before enabling broad automation. Let Prowlarr own synced indexer definitions; let Sonarr and Radarr own media decisions, quality rules, download clients, and imports.
Rights and lawful use: Configure Prowlarr only for indexers, categories, and searches you are authorized to access. Connecting Sonarr or Radarr does not grant permission to acquire or share media, so keep every automated query and downstream import within the rights and service terms that apply to you.
Who this is for: This guide is for operators centralizing indexer definitions in Prowlarr and syncing them to private Sonarr and Radarr instances. It explains the categories, app profiles, internal URLs, rate limits, tests, and restore evidence needed to make that integration maintainable.
Before You Start: Safe Defaults
- Use Prowlarr only with media and services you are allowed to use.
- Create a shared
mediagroup and useUMASK=002so imports, renames, and Tdarr replacements do not break permissions. - Keep config directories persistent and backed up before changing install method, profiles, lists, or paths.
- Keep admin ports private until authentication, reverse proxy rules, VPN, or access lists are in place.
- Test one item end to end before enabling broad automation.
Rights note: Prowlarr organizes indexer access. Only add indexers and categories you are allowed to use, and remember that Prowlarr does not override the rules or terms of any service.
Why Prowlarr Exists
Without Prowlarr, every Arr application becomes its own little island of indexer settings. You add an indexer to Sonarr, repeat it in Radarr, troubleshoot categories twice, update API keys twice, and eventually wonder why TV searches work but movie searches fail. Prowlarr solves that by becoming the indexer manager for the stack.
For beginners, Prowlarr is the place where you add and test indexers. For technical users, it is also where you control sync behavior, capabilities, categories, app profiles, rate limits, tags, proxies, and failure visibility. It is not a magic search booster. It is a consistency layer.
Basic Architecture
- Prowlarr stores the indexer definitions.
- Sonarr and Radarr are added as applications in Prowlarr.
- Prowlarr syncs compatible indexers into each application.
- Sonarr and Radarr still decide what to search, what to grab, and how to score releases.
- Prowlarr helps you test and troubleshoot search results from one place.
Prowlarr is source management. Sonarr and Radarr still own media decisions and imports.
1. SourceIndexer Definition
Capabilities, categories, rate limits, and authentication are configured and tested.
2. ManagerProwlarr
Prowlarr stores source settings once and syncs compatible app profiles outward.
3. TVSonarr Search
Sonarr asks for TV candidates and applies episode monitoring, quality, language, and custom formats.
4. MoviesRadarr Search
Radarr asks for movie candidates and applies movie profiles, list tags, roots, and scoring.
5. DownloadSABnzbd
The accepting Arr app sends the selected job to the download client with a category.
Installation Options
Prowlarr can run in Docker or directly on Linux. In a Docker Compose media stack, Prowlarr should have a persistent /config folder and a stable private port. It does not need direct access to the media library because it does not import files.
Docker Compose Install
Prowlarr does not modify library files, but this example shares the media stack's .env convention so later Sonarr, Radarr, SABnzbd, Plex, and Tdarr containers use consistent identities. Run id -u mediauser and getent group media, then replace the sample PUID and PGID before starting Compose.
sudo groupadd -f media
id -u mediauser
getent group media | cut -d: -f3
sudo mkdir -p /opt/media-stack
cd /opt/media-stack
cat > .env <<'EOF'
PUID=1000
PGID=1001
TZ=America/Chicago
UMASK=002
EOF
Production Docker note: The Prowlarr example uses a readable image name while the integration is being built. After one indexer test and one Sonarr/Radarr sync behave as expected, pin the tested image, back up /opt/media-stack/prowlarr/config, and retain that archive while validating the next update.
services:
prowlarr:
image: lscr.io/linuxserver/prowlarr:latest
container_name: prowlarr
env_file: .env
volumes:
- /opt/media-stack/prowlarr/config:/config
ports:
- "127.0.0.1:9696:9696"
networks:
- media
restart: unless-stopped
networks:
media:
name: media
driver: bridge
Prowlarr does not need direct media-library volume access. It needs persistent config and network access to Sonarr, Radarr, and your indexers. Keep the UI private by default because it contains indexer and application integration details.
Ubuntu Native Install
A native Ubuntu install is useful when you prefer systemd services and direct host networking. The pattern is the same as the rest of the stack: run Prowlarr as a non-root service account, keep its app data persistent, and back up that data before upgrades.
sudo apt update
sudo apt install -y curl wget sqlite3 tar acl
sudo groupadd -f media
if ! getent passwd prowlarr >/dev/null; then
sudo useradd --system \
--home-dir /var/lib/prowlarr \
--shell /usr/sbin/nologin \
--gid media \
prowlarr
fi
sudo install -d -o prowlarr -g media -m 0750 /var/lib/prowlarr
sudo install -d -o root -g root -m 0755 /opt
# Download the current Linux build from the official Prowlarr/Servarr release source.
# Extract it into /opt/Prowlarr, then run it with a systemd unit as prowlarr:media.
sudo systemctl daemon-reload
sudo systemctl enable --now prowlarr
systemctl status prowlarr --no-pager
Check the official Prowlarr installation page before production use. The exact release URL can change over time, but the operating pattern should not: dedicated service user, persistent config, private admin port, and a backup before upgrades.
First Configuration
- Open Prowlarr at
http://YOUR_SERVER_IP:9696or through your protected proxy. - Set authentication before exposing it beyond localhost or a trusted LAN.
- Add Sonarr under Settings, Apps.
- Add Radarr under Settings, Apps.
- Use the full application URL, including protocol and port.
- Paste the Sonarr or Radarr API key from each app Settings, General page.
- Test the connection before saving.
- Add one indexer and test it inside Prowlarr before adding many.
Indexer Categories
Categories are where many new users get confused. An indexer may have broad Newznab or Torznab categories, and Prowlarr can sync only selected categories to Sonarr or Radarr. Sonarr should receive TV categories. Radarr should receive movie categories. If the wrong categories are synced, searches may return nothing or return the wrong kind of content.
- TV: categories such as TV, TV HD, TV UHD, or anime TV when appropriate.
- Movies: categories such as Movies, Movies HD, Movies UHD, or foreign movies only if that fits your library.
- Avoid catch-all: broad categories may work, but they add noise and make scoring harder.
- Test both apps: a successful Prowlarr indexer test does not guarantee Radarr and Sonarr categories are correct.
App Profiles and Sync Behavior
Prowlarr can sync indexers into applications, but you should decide which indexers belong where. Some indexers are excellent for TV and weak for movies. Some are the opposite. Some should be used for interactive search but not automatic RSS. Advanced setups can separate trusted automatic sources from sources you only want to use manually.
RSS Sync vs Automatic Search vs Interactive Search
- RSS sync lets Sonarr and Radarr watch new releases as they appear.
- Automatic search runs when the app is actively trying to find a missing or upgradeable item.
- Interactive search is the troubleshooting and manual choice tool.
- Manual-only indexers can be useful for noisy or rate-limited sources.
A strong setup does not enable everything everywhere. It uses trusted indexers for RSS and automatic search, keeps noisy sources manual, and reviews failures in Prowlarr before assuming Sonarr or Radarr are broken.
Rate Limits and Failures
Indexers have limits. Some enforce API limits, some throttle, some fail temporarily, and some have search quirks. If searches stop working, check Prowlarr first. Look for disabled indexers, failed tests, rate-limit messages, captcha issues, or authentication problems. Then check whether Sonarr or Radarr received the synced indexer correctly.
Usenet and Torrent Considerations
If your stack uses Usenet, Prowlarr usually syncs Newznab indexers to Sonarr and Radarr, while SABnzbd handles downloads. If your stack uses torrents, Prowlarr syncs Torznab indexers and the Arr app talks to a torrent client. Either model can work. The key is that download clients and indexers are different roles. Prowlarr does not replace SABnzbd.
Security
Prowlarr is an administrative surface. It contains indexer definitions and API integrations. Keep it behind LAN access, VPN, or a protected reverse proxy. If it is exposed, use HTTPS and strong authentication. Do not expose it casually just because the interface has a login page.
Troubleshooting Checklist
- Does the indexer test pass in Prowlarr?
- Is the indexer enabled?
- Are the right categories selected for the app?
- Did Prowlarr sync the indexer into Sonarr or Radarr?
- Does the app show health warnings for that indexer?
- Is the query too narrow because of quality profile or custom format rules?
- Is the indexer rate-limited?
- Is the release being rejected by Sonarr/Radarr rather than missing from search?
How This Ties Back to Sonarr, Radarr, and Tdarr
Prowlarr affects what Sonarr and Radarr can find. Sonarr and Radarr affect what lands in the library. Tdarr affects what the final file becomes. If Prowlarr is noisy, Radarr and Sonarr waste time rejecting bad results. If Prowlarr is too narrow, wanted content never appears. The right balance gives Sonarr and Radarr enough good candidates to make smart decisions, then lets Tdarr optimize the final imported file.
Beginner Walk-Through: A Search Result Is Not Automatically Good
Prowlarr can show that an indexer has results. That does not mean Radarr or Sonarr will grab them. The Arr app may reject a release because it is the wrong quality, wrong language, wrong season pack, wrong category, already downloaded, below the custom format score, above a size limit, or missing required metadata. Beginners often see search results in one place and assume the app is broken when it refuses them. Usually, the app is applying rules.
Technical Indexer Tuning
- Keep trusted indexers enabled for RSS and automatic search.
- Keep noisy or specialty indexers available for interactive search only.
- Use tags or app profiles if you separate indexer behavior by app.
- Review capabilities and categories when an indexer returns unexpected content.
- Watch rate limits and failed test history before blaming Sonarr or Radarr.
- Document which indexers are intended for movies, TV, anime, or manual use.
Troubleshooting Example
If Radarr cannot find a movie that you know exists, first test the indexer in Prowlarr. Then run an interactive search in Radarr and expand the rejected results. The rejection reason is often the answer. If Radarr says the release is below minimum custom format score, the indexer worked. Your profile rejected the release. That is a configuration decision, not a Prowlarr outage.
Implementation Playbook: Install Prowlarr on Ubuntu or Docker
First-Run Configuration Steps
- Open
http://YOUR_SERVER_IP:9696or your protected Prowlarr hostname. - Set authentication before proxying or exposing the UI.
- Go to Settings, Apps, and add Sonarr with its internal URL and API key.
- Add Radarr the same way.
- Add one indexer and run Test inside Prowlarr.
- Sync the indexer to Sonarr/Radarr.
- Open Sonarr/Radarr and confirm the indexer appears.
- Run one interactive search in Sonarr and one in Radarr before enabling broad automation.
Verification and Troubleshooting
curl -I http://127.0.0.1:9696
docker logs --tail=100 prowlarr
# Native install:
sudo journalctl -u prowlarr --since "30 minutes ago"
If Prowlarr tests pass but Sonarr/Radarr searches fail, check categories and rejection reasons before changing indexers. The Arr app may be rejecting results correctly.
Sync Ownership and Safe Changes
Current Servarr guidance distinguishes disabled sync, add-and-remove-only behavior, and full sync. Full sync can overwrite most Prowlarr-managed indexer settings changed directly in Sonarr or Radarr. Choose an ownership model, document it, and make indexer category, priority, and sync-profile changes in Prowlarr when full sync is active.
- Start with one indexer and one application connection.
- Use internal URLs that both applications can resolve from their actual container or host networks.
- Confirm supported categories before assuming a successful Prowlarr test will sync to an app.
- Use separate tags or app entries when Sonarr and Radarr need different indexer sets.
- Set query and grab limits from the indexer's current account terms; do not guess.
- Keep download clients in Sonarr and Radarr unless you intentionally use Prowlarr's own search workflow.
Backup, Update, and Rollback
Back up Prowlarr's application-data directory before changing install method, database, authentication, or sync ownership. For Docker, that is the host directory mapped to /config. Stop the container for a consistent file-level copy, save the Compose file and tested image reference, then restart and verify health.
cd /opt/media-stack
docker compose stop prowlarr
sudo tar -czf /secure-backups/prowlarr-$(date +%F).tgz \
prowlarr/config docker-compose.yml .env
docker compose start prowlarr
docker compose ps prowlarr
docker compose logs --tail=100 prowlarr
Adjust paths and protect the archive because it contains API keys, indexer credentials, and integration details. To roll back a failed update, stop Prowlarr, restore the previous app-data backup, return to the prior image or package version, start it privately, and test Prowlarr plus one Sonarr and one Radarr search before re-enabling normal automation. Restore testing should use an isolated path or disposable instance so it cannot resync stale settings into production.
Evidence limit: This revision is documentation-backed. TechGeeks did not connect live indexers, record search success rates, measure API use, or execute the backup and restore commands against a production Prowlarr instance.
What This Does Not Protect or Validate
- A green indexer test does not prove every query, category, rate limit, or future tracker response will succeed.
- Successful synchronization does not prove Sonarr and Radarr retained every local override or that Prowlarr owns the intended fields.
- An application-data archive does not prove a compatible restore until it is tested in an isolated instance.
- This guide does not validate indexer legality, account terms, download integrity, privacy, or performance for a particular provider.
Related TechGeeks resources
- Sonarr Homelab Setup Guide
- Radarr Homelab Setup Guide
- Backup and Disaster Recovery for the Plex and Arr Stack
Series Navigation
This Prowlarr installment supplies the series' shared indexer layer: add and test an indexer here, then confirm its categories and application profile in Sonarr and Radarr before broad automation. The linked storage, download-client, quality-profile, backup, and monitoring guides cover the downstream parts of that same request path.
- Plex Homelab Architecture: Storage, GPU Transcoding, and Library Design
- Media Server Storage Design: NAS, CIFS/NFS Mounts, Permissions, and Local Cache
- Prowlarr Setup Guide: Clean Indexer Management for Sonarr and Radarr
- Sonarr Homelab Setup Guide: Install, Update, Optimize, and Connect to Tdarr
- Radarr Homelab Setup Guide: Install, Update, Optimize, Lists, and Tdarr Integration
- SABnzbd Performance Tuning for a Homelab Media Server
- Custom Formats and Quality Profiles Explained for Radarr and Sonarr
- Radarr Import Lists That Do Not Fill Your Library With Junk
- Plex + Tdarr GPU Strategy: Sharing NVIDIA GPUs Without Hurting Playback
- Reverse Proxy for Media Apps: Nginx Proxy Manager, SSL, Access Lists, and Security
- Backup and Disaster Recovery for Plex, Sonarr, Radarr, Tdarr, Prowlarr, and SABnzbd
- Monitoring and Health Checks for a Plex and Arr Homelab
- The Complete Plex, Arr, and Tdarr Homelab Media Automation Series
Related foundation: Building a Production-Grade Tdarr GPU Transcoding Stack for a Homelab.
References
- Prowlarr official site and installation choices
- Prowlarr Quick Start Guide
- Prowlarr troubleshooting and logs
- Prowlarr application-data directory
- Servarr Docker Guide
- TRaSH Guides: limiting Prowlarr API use
Need help applying this?
Bring TechGeeks into the real environment.
If you are working through this on a live network, WordPress site, Linux server, AI workflow, or PisoWiFi deployment, send the context and we can help turn it into a practical plan.

