Servarr
Expert at deploying and managing the complete media automation stack.
Overview
The media stack follows a pipeline: Acquire → Organize → Serve → Request
- Prowlarr — Unified indexer manager, syncs to all *arr apps (port 9696)
- Sonarr — TV show monitoring and download automation (port 8989)
- Radarr — Movie monitoring and download automation (port 7878)
- Lidarr — Music collection management (port 8686)
- qBittorrent — Download client for torrents (port 8080)
- Bazarr — Automatic subtitle downloads (port 6767)
- Recyclarr — Sync TRaSH Guides quality profiles (CLI)
- Jackett — Indexer proxy, alternative to Prowlarr (port 9117)
- Plex — Media server for playback and transcoding (port 32400)
- Tautulli — Plex monitoring, analytics, and notifications (port 8181)
- Overseerr — User request management → triggers acquisition (port 5055)
Quick Start
# docker-compose.yml (minimal stack)
services:
sonarr:
image: lscr.io/linuxserver/sonarr:latest
ports: ["8989:8989"]
volumes: ["/path/to/data:/data", "./config/sonarr:/config"]
environment: &env { PUID: "1000", PGID: "1000", TZ: "America/New_York" }
radarr:
image: lscr.io/linuxserver/radarr:latest
ports: ["7878:7878"]
volumes: ["/path/to/data:/data", "./config/radarr:/config"]
environment: *env
prowlarr:
image: lscr.io/linuxserver/prowlarr:latest
ports: ["9696:9696"]
volumes: ["./config/prowlarr:/config"]
environment: *env
API Pattern
All *arr apps use the same authentication and API style:
curl -H "X-Api-Key: YOUR_API_KEY" http://localhost:PORT/api/v3/ENDPOINT
API keys are found in each app under Settings → General → Security.
Core Concepts
Quality Profiles — Define acceptable release qualities (720p, 1080p, 4K). Use Recyclarr + TRaSH Guides for optimized defaults.
Root Folders — Where media files are stored. Use a shared /data mount for hardlinks.
Indexers — Configured centrally in Prowlarr, synced to all apps automatically.
Download Clients — qBittorrent/SABnzbd configured in each app under Settings → Download Clients.
Remote Path Mappings — Translate paths between apps when running on different hosts or containers.
Documentation
- Stack Overview — Architecture and data flow
- Docker Compose Setup — Full deployment templates
- Sonarr — Overview (settings, installation, FAQ, system)
- Radarr — Overview (settings, installation, FAQ, quick start)
- Lidarr — Overview (installation, troubleshooting)
- Prowlarr — Overview (installation, FAQ, indexers)
- Plex — Media server setup and library management
- Tautulli — Plex monitoring, analytics, notifications, API
- Overseerr — Request management
- Jackett — Indexer proxy setup and configuration
- qBittorrent — Download client configuration
- Bazarr — Subtitle management
- Quality Profiles — TRaSH Guides best practices
- Recyclarr Config — Recyclarr setup and guide configs
- Hardlinks Guide — TRaSH folder structure for instant moves
- API Reference — Shared API v3 patterns
- Troubleshooting — Common issues and fixes
- Remote Management — Laptop→NAS patterns
Common Workflows
Wire up the full stack
- Deploy Docker Compose → 2. Configure Prowlarr indexers → 3. Add Sonarr/Radarr/Lidarr as apps in Prowlarr → 4. Set qBittorrent as download client in each app → 5. Add root folders → 6. Run Recyclarr for quality profiles → 7. Point Plex at media folders → 8. Set up Overseerr with Sonarr/Radarr
Add a movie via API
curl -X POST -H "X-Api-Key: $RADARR_KEY" -H "Content-Type: application/json" \
http://localhost:7878/api/v3/movie \
-d '{"tmdbId": 123, "qualityProfileId": 1, "rootFolderPath": "/data/movies", "monitored": true, "addOptions": {"searchForMovie": true}}'
Upstream Sources
Sync & Update
When user runs sync: fetch latest from upstream, update docs/.
When user runs diff: compare current vs upstream, report changes.
1---2name: servarr3description: Deploy, configure, and manage the full media stack — Sonarr, Radarr, Lidarr, Prowlarr, Plex, Tautulli, Overseerr, qBittorrent, Jackett, Bazarr, Recyclarr. Use when setting up media automation, quality profiles, indexers, Docker stacks, or managing a media server. Triggers on mentions of Sonarr, Radarr, Lidarr, Prowlarr, Plex, Tautulli, Overseerr, Jackett, *arr, servarr, media library, quality profiles, TRaSH Guides, media server, NAS.4---56# Servarr78Expert at deploying and managing the complete media automation stack.910## Overview1112The media stack follows a pipeline: **Acquire → Organize → Serve → Request**1314- **Prowlarr** — Unified indexer manager, syncs to all *arr apps (port 9696)15- **Sonarr** — TV show monitoring and download automation (port 8989)16- **Radarr** — Movie monitoring and download automation (port 7878)17- **Lidarr** — Music collection management (port 8686)18- **qBittorrent** — Download client for torrents (port 8080)19- **Bazarr** — Automatic subtitle downloads (port 6767)20- **Recyclarr** — Sync TRaSH Guides quality profiles (CLI)21- **Jackett** — Indexer proxy, alternative to Prowlarr (port 9117)22- **Plex** — Media server for playback and transcoding (port 32400)23- **Tautulli** — Plex monitoring, analytics, and notifications (port 8181)24- **Overseerr** — User request management → triggers acquisition (port 5055)2526## Quick Start2728```yaml29# docker-compose.yml (minimal stack)30services:31 sonarr:32 image: lscr.io/linuxserver/sonarr:latest33 ports: ["8989:8989"]34 volumes: ["/path/to/data:/data", "./config/sonarr:/config"]35 environment: &env { PUID: "1000", PGID: "1000", TZ: "America/New_York" }36 radarr:37 image: lscr.io/linuxserver/radarr:latest38 ports: ["7878:7878"]39 volumes: ["/path/to/data:/data", "./config/radarr:/config"]40 environment: *env41 prowlarr:42 image: lscr.io/linuxserver/prowlarr:latest43 ports: ["9696:9696"]44 volumes: ["./config/prowlarr:/config"]45 environment: *env46```4748## API Pattern4950All *arr apps use the same authentication and API style:5152```bash53curl -H "X-Api-Key: YOUR_API_KEY" http://localhost:PORT/api/v3/ENDPOINT54```5556API keys are found in each app under **Settings → General → Security**.5758## Core Concepts5960**Quality Profiles** — Define acceptable release qualities (720p, 1080p, 4K). Use Recyclarr + TRaSH Guides for optimized defaults.6162**Root Folders** — Where media files are stored. Use a shared `/data` mount for hardlinks.6364**Indexers** — Configured centrally in Prowlarr, synced to all apps automatically.6566**Download Clients** — qBittorrent/SABnzbd configured in each app under Settings → Download Clients.6768**Remote Path Mappings** — Translate paths between apps when running on different hosts or containers.6970## Documentation7172- **[Stack Overview](docs/stack-overview.md)** — Architecture and data flow73- **[Docker Compose Setup](docs/docker-compose-setup.md)** — Full deployment templates74- **[Sonarr](docs/sonarr.md)** — Overview ([settings](docs/sonarr/settings.md), [installation](docs/sonarr/installation.md), [FAQ](docs/sonarr/faq.md), [system](docs/sonarr/system.md))75- **[Radarr](docs/radarr.md)** — Overview ([settings](docs/radarr/settings.md), [installation](docs/radarr/installation.md), [FAQ](docs/radarr/faq.md), [quick start](docs/radarr/quick-start-guide.md))76- **[Lidarr](docs/lidarr.md)** — Overview ([installation](docs/lidarr/installation.md), [troubleshooting](docs/lidarr/troubleshooting.md))77- **[Prowlarr](docs/prowlarr.md)** — Overview ([installation](docs/prowlarr/installation.md), [FAQ](docs/prowlarr/faq.md), [indexers](docs/prowlarr/supported-indexers.md))78- **[Plex](docs/plex.md)** — Media server setup and library management79- **[Tautulli](docs/tautulli.md)** — Plex monitoring, analytics, notifications, API80- **[Overseerr](docs/overseerr.md)** — Request management81- **[Jackett](docs/jackett.md)** — Indexer proxy setup and configuration82- **[qBittorrent](docs/qbittorrent.md)** — Download client configuration83- **[Bazarr](docs/bazarr.md)** — Subtitle management84- **[Quality Profiles](docs/quality-profiles.md)** — TRaSH Guides best practices85- **[Recyclarr Config](docs/recyclarr-config.md)** — Recyclarr setup and guide configs86- **[Hardlinks Guide](docs/hardlinks-guide.md)** — TRaSH folder structure for instant moves87- **[API Reference](docs/api-reference.md)** — Shared API v3 patterns88- **[Troubleshooting](docs/troubleshooting.md)** — Common issues and fixes89- **[Remote Management](docs/remote-management.md)** — Laptop→NAS patterns9091## Common Workflows9293### Wire up the full stack941. Deploy Docker Compose → 2. Configure Prowlarr indexers → 3. Add Sonarr/Radarr/Lidarr as apps in Prowlarr → 4. Set qBittorrent as download client in each app → 5. Add root folders → 6. Run Recyclarr for quality profiles → 7. Point Plex at media folders → 8. Set up Overseerr with Sonarr/Radarr9596### Add a movie via API97```bash98curl -X POST -H "X-Api-Key: $RADARR_KEY" -H "Content-Type: application/json" \99 http://localhost:7878/api/v3/movie \100 -d '{"tmdbId": 123, "qualityProfileId": 1, "rootFolderPath": "/data/movies", "monitored": true, "addOptions": {"searchForMovie": true}}'101```102103## Upstream Sources104105- **Servarr Wiki**: https://wiki.servarr.com106- **TRaSH Guides**: https://trash-guides.info107- **GitHub**: Sonarr/Sonarr, Radarr/Radarr, Lidarr/Lidarr, Prowlarr/Prowlarr108109## Sync & Update110111When user runs `sync`: fetch latest from upstream, update docs/.112When user runs `diff`: compare current vs upstream, report changes.