What is Prowlarr?Prowlarr is an indexer manager/proxy built on the popular arr .net/reactjs base stack to integrate with your various PVR apps. Prowlarr supports both Torrent Trackers and Usenet Indexers. It integrates seamlessly with Sonarr, Radarr, Lidarr, and Readarr offering complete management of your indexers with no per app Indexer setup required.
Docker Compose
TrueNASservices:
prowlarr:
image: lscr.io/linuxserver/prowlarr:latest
container_name: prowlarr
environment:
- PUID=568
- PGID=568
- TZ=America/New_York
volumes:
- /mnt/tank/configs/prowlarr:/config
ports:
- 9696:9696
restart: unless-stopped
This is where you will add public or private trackers you are a part of. In the top left corner you will see a "➕ Add Indexer" button. Click it and search for the name of the tracker you want to add. When you click the name of the tracker a form will open to enter the specific info of the tracker.
In the menu on the left, navigate to Settings > Apps and click the ➕ icon. Select the app you would like to link. Leave all the options set to their defaults except the Prowlarr Server and {App Name} Server. The server line needs to be the IP and port Prowlarr and the IP and port of the app you want to link. The API Key is copied from the app itself (in the app, navigate to Settings > General and copy the API Key from the Security section). Click Test then Save.
Usually this is only necessary if you use private trackers, but it won't hurt to set it up. Navigate to Settings > Indexers and then click the "+" box. Click the box for Flaresolverr. Enter flaresolverr for the Tags line and the IP of the server and use port 8191 for the Host line.
To apply Flaresolverr to an indexer which utilizes Cloudflare, when adding/editing the indexer, enter flaresolverr in the Tags line.
See this section of the Notifications page.
/media1 and the Retention to your preference (default: 7 days).Prowlarr supports per-indexer proxying via Indexer Proxies + Tags. This lets you route specific indexers through a VPN while everything else continues to route directly — surgical control without tunneling your entire stack.
services:
gluetun:
image: qmcgaw/gluetun:latest
container_name: gluetun
cap_add:
- NET_ADMIN
devices:
- /dev/net/tun:/dev/net/tun
environment:
- VPN_SERVICE_PROVIDER=
- VPN_TYPE=wireguard
- WIREGUARD_PRIVATE_KEY=
- WIREGUARD_PRESHARED_KEY=
- WIREGUARD_ADDRESSES=
- SERVER_COUNTRIES=
- HTTPPROXY=on
- HTTPPROXY_LOG=on
- TZ=America/New_York
volumes:
- /mnt/tank/configs/gluetun:/gluetun
restart: unless-stopped
prowlarr:
image: lscr.io/linuxserver/prowlarr:latest
container_name: prowlarr
environment:
- PUID=568
- PGID=568
- TZ=America/New_York
volumes:
- /mnt/tank/configs/prowlarr:/config
ports:
- 9696:9696
restart: unless-stopped
Gluetun's HTTP proxy port (
8888) is intentionally not exposed on the host — Prowlarr reaches it over the internal network athttp://gluetun:8888. If you need to access the proxy from outside Docker, add- 8888:8888/tcpto Gluetun'sports:block.
Gluetunvpngluetun (the container name on the shared network)8888HTTPPROXY_USER / HTTPPROXY_PASSWORD in GluetunEdit the indexer you want routed through the VPN, add the vpn tag, and save. Only indexers carrying that tag will use the proxy — every other indexer continues to route directly through your home IP.
If the indexer relies on FlareSolverr to bypass Cloudflare, the HTTP proxy approach won't work alone — FlareSolverr itself makes the outbound request, so Prowlarr's proxy setting is bypassed. To route FlareSolverr through Gluetun, use network_mode on the FlareSolverr container instead:
services:
flaresolverr:
image: ghcr.io/flaresolverr/flaresolverr:latest
container_name: flaresolverr
network_mode: "service:gluetun"
depends_on:
- gluetun
restart: unless-stopped
# Note: do NOT declare ports here — declare 8191 on the gluetun service
network_mode: "service:gluetun"shares Gluetun's network namespace, which means all traffic from FlareSolverr goes through the VPN — and FlareSolverr loses its own port declarations. Move the8191port to Gluetun'sports:block.
4 · Video Walkthrough