Prowlarr is the indexer control plane for the media stack. It manages tracker definitions, syncs indexers into Arr applications, and is the first place to look when release search quality or tracker availability regresses.
This page documents the prowlarr service. It does not replace the operational pages for Sonarr, Radarr, or the download client chain.
- Container:
prowlarr
- Image:
lscr.io/linuxserver/prowlarr:latest
- Stack: Smithflix Stack
- Compose path:
/opt/stacks/smithflix/docker-compose.yml
- Docker network:
smithflix_default
- Restart policy:
unless-stopped
- Host port mapping:
9696 -> 9696
- Public hostname:
prowlarr.better-than.tv
- Health state: healthy on
2026-04-07
¶ Config and Data Paths
- Config root:
/srv/docker/prowlarr/config
- Primary config file:
/srv/docker/prowlarr/config/config.xml
- Verified on-disk logs:
/srv/docker/prowlarr/config/logs
- Documented but not present on disk at verification time:
/srv/docker/prowlarr/logs
- LAN URL:
http://192.168.0.113:9696
- Public URL:
https://prowlarr.better-than.tv
¶ Authentication and Secret Locations
- Prowlarr app auth and API state are stored inside
/srv/docker/prowlarr/config
- Tracker credentials are managed inside the Prowlarr application config, not in compose
- If Prowlarr is exposed publicly, protect it with an NPM Access List in addition to app auth
- Validate local reachability on
:9696 before debugging the proxy
- Keep Settings -> Apps aligned with Sonarr and Radarr so indexer sync stays authoritative
- Use tags to group indexers by trust or function, for example private vs public classes
- If Cloudflare-protected trackers start failing, check the FlareSolverr integration referenced in Prowlarr settings
/home/adam/scripts/setup-prowlarr.sh is the provisioning helper for this service
¶ Monitoring and Logs
- Docker logging driver is inherited from the stack defaults; Docker logs are the first check for runtime issues
- Verified on-disk app logs live under
/srv/docker/prowlarr/config/logs
- The container healthcheck was healthy on
2026-04-07
- Routine release-search noise appears in logs and should be distinguished from actual indexer or auth failures
¶ Backup and Restore
/srv/docker/prowlarr/config is within the documented Duplicati scope
- Restore should preserve app config, API settings, and indexer definitions together
- After restore, validate Arr app connections and a sample manual search before considering the service healthy
¶ Failure Modes and Recovery
- Expired or revoked tracker credentials will surface as indexer failures before Arr apps notice the drift
- Broken FlareSolverr or other anti-bot mitigation can make some indexers appear dead while others still work
- Arr app sync drift can leave Sonarr and Radarr with stale indexer state even though Prowlarr itself is up
- The AGENTS-documented
/srv/docker/prowlarr/logs path does not currently exist and should not be treated as authoritative until corrected