Install Prowlarr on TrueNAS Scale

Indexer manager for the *arr stack — one place to add, test, and manage every torrent tracker and usenet indexer.

Cover for Install Prowlarr on TrueNAS Scale

Prowlarr is the indexer manager that sits between your torrent/usenet sources and Radarr, Sonarr, Lidarr, and Readarr — one place to add, test, and manage every indexer instead of configuring them individually in each app.

What it is

Platform TrueNAS Scale (Docker custom app)
Port 9696 (web UI)
Image lscr.io/linuxserver/prowlarr:latest
Config path /mnt/apps/prowlarr/config → /config
Purpose Indexer manager for *arr apps and download clients
License GPL-3.0

Prowlarr is the central hub of the *arr stack's search layer. Instead of adding torrent trackers and usenet indexers to Radarr, Sonarr, and every other app separately, you add them once in Prowlarr. It then pushes those indexers to every connected app automatically. When a tracker goes down or you add a new one, you change it in one place.

It also handles authentication tokens, rate limiting, and search result aggregation. If you run Jackett today, Prowlarr replaces it with native *arr integration — no proxy layer, no manual API key copying.

The hard part: indexer categories and download client routing

The install is trivial. The hard part is understanding how Prowlarr routes results to your download clients based on indexer categories.

PACKET ANALYSIS
Prowlarr routing flow
Wrong setup

The fix: in Prowlarr's download client settings, you must map indexer categories to the correct download client. Torrent categories go to qBittorrent; usenet categories go to SABnzbd or NZBGet. If you skip this, searches return results but nothing actually downloads.

PACKET ANALYSIS
Category mapping

How to install it

Docker Compose (TrueNAS Scale custom app)

services:
  prowlarr:
    image: lscr.io/linuxserver/prowlarr:latest
    container_name: prowlarr
    restart: unless-stopped
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/London
    ports:
      - 9696:9696
    volumes:
      - /mnt/apps/prowlarr/config:/config

After deploy:

# Find the initial API key:
docker logs prowlarr 2>&1 | grep -i "api key"

# Or check the web UI → Settings → General
# The API key is needed to connect Radarr, Sonarr, etc.

Log in at http://<nas-ip>:9696 — no password by default, just click Sign In.

Connect to Radarr/Sonarr

  1. Open Prowlarr → Settings → Apps
  2. Click + → select Radarr
  3. Enter the Radarr URL (http://<nas-ip>:7878), paste the API key from Radarr → Settings → General
  4. Click Test → Save
  5. Repeat for Sonarr, Lidarr, Readarr
  6. Prowlarr will sync all indexers to the connected apps automatically

Configuration that matters

Indexer setup

Setting Recommended value Why
Sync profile Full sync Pushes indexer changes to all connected apps
Category Match the indexer type (movies, tv, music) Ensures correct routing to download clients
Minimum seeders 10–20 Filters out dead torrents
Multi-search Enable Searches all indexers simultaneously

Download client routing

In Settings → Download Clients, add each client:

Client Type Host Port Categories
qBittorrent Torrent qbittorrent (container name) or NAS IP 8080 Movies, TV, Music
SABnzbd Usenet sabnzbd (container name) or NAS IP 8080 Movies, TV, Music, Books

Important: Use container names as hosts if all apps are on the same Docker network. Use the NAS IP if they are on separate networks.

Authentication

Setting Recommended value Why
Authentication Forms authentication Prevents anyone on the LAN from accessing Prowlarr
Username admin Default; change in Settings → General
Password Strong, unique Set immediately after first login

What I'd tell anyone building this

  • Prowlarr replaces Jackett. If you run Jackett today, uninstall it after setting up Prowlarr. Jackett is a proxy that adds latency; Prowlarr integrates natively with the *arr stack.

  • The API key is the key to everything. Every *arr app needs Prowlarr's API key to connect. Find it in Settings → General, or in the container logs (docker logs prowlarr 2>&1 | grep -i api).

  • Indexer categories matter. A torrent indexer tagged as "Movies" will only show results when Radarr searches. A usenet indexer tagged as "TV" will only show results when Sonarr searches. If searches return nothing, check your indexer categories.

  • Don't add indexers to Radarr/Sonarr directly. Add them in Prowlarr and let it sync. If you add an indexer in both places, you get duplicates and authentication conflicts.

  • Prowlarr needs write access to the same config volume across restarts. Mount /mnt/apps/prowlarr/config to /config. If the container uses an ephemeral layer, all your indexer settings are lost on restart.

Get it

Links:

Quick install (Docker Compose):

services:
  prowlarr:
    image: lscr.io/linuxserver/prowlarr:latest
    container_name: prowlarr
    restart: unless-stopped
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/London
    ports:
      - 9696:9696
    volumes:
      - /mnt/apps/prowlarr/config:/config

After deploy:

# API key (needed to connect Radarr, Sonarr, etc.):
docker logs prowlarr 2>&1 | grep -i "api key"

Log in at http://<nas-ip>:9696, go to Settings → Apps, and connect your *arr apps.

Comments (0)

Join the discussion — sign in to comment.

Sign in

No comments yet — be the first to share your thoughts.

Related reading