A complete Docker Compose media server stack — Plex, Sonarr, Radarr, Lidarr, Prowlarr, qBittorrent, and useful extras. One command to deploy, fully configurable via .env.
Target audience: Users comfortable with Linux basics and Docker who want a turnkey media automation setup.
┌─────────────────────────────────────────────────────────────────────┐
│ INDEXERS (Usenet / Torrent) │
└──────────────────────────────┬──────────────────────────────────────┘
│
┌──────▼──────┐
┌─────│ Prowlarr │─────┐
│ │ :9696 │ │
│ └──────┬──────┘ │
│ │ │
┌──────▼──────┐ ┌──▼───────┐ ┌──▼───────┐
│ Sonarr │ │ Radarr │ │ Lidarr │
│ :8989 │ │ :7878 │ │ :8686 │
│ (TV Shows) │ │ (Movies) │ │ (Music) │
└──────┬──────┘ └────┬─────┘ └────┬─────┘
│ │ │
└──────┬──────┘─────────────┘
│
┌──────▼──────┐ ┌──────────────┐
│ qBittorrent │ │ Autobrr │
│ :8080 │◄────│ :7474 │
└──────┬──────┘ └──────────────┘
│
┌──────────┼──────────┐
│ │ │
┌──────▼───┐ ┌───▼────┐ ┌──▼───────┐
│Unpackerr │ │ Bazarr │ │ Plex │
│(extract) │ │ :6767 │ │ :32400 │
└──────────┘ │(subs) │ └──────────┘
└────────┘ │
┌────▼─────┐
│ Tautulli │
│ :8181 │
└──────────┘
┌────────────┐ ┌────────────┐
│ Notifiarr │ │ Homepage │
│ :5454 │ │ :3000 │
└────────────┘ └────────────┘
- Prowlarr manages indexer connections and syncs them to Sonarr, Radarr, and Lidarr.
- Sonarr / Radarr / Lidarr search for media, send download requests to qBittorrent.
- Autobrr monitors IRC announce channels for instant grabs, sending to qBittorrent or the *arrs.
- qBittorrent downloads torrents to
/data/torrents/{tv,movies,music}. - Unpackerr extracts archived downloads so the *arrs can import them.
- The *arrs hardlink (or copy) completed downloads into
/data/media/{tv,movies,music}. - Plex serves the organized media library to your devices.
- Bazarr fetches subtitles for content in Sonarr and Radarr.
- Tautulli monitors Plex activity and history.
- Notifiarr sends notifications (Discord, Telegram, etc.) from all services.
- Homepage provides a dashboard with service status and quick links.
| Service | Port | Purpose |
|---|---|---|
| Plex | 32400 | Media server |
| Sonarr | 8989 | TV show management |
| Radarr | 7878 | Movie management |
| Lidarr | 8686 | Music management |
| Prowlarr | 9696 | Indexer management |
| qBittorrent | 8080 | Torrent downloads |
| Autobrr | 7474 | IRC autodl / filters |
| Unpackerr | — | Auto-extract archives |
| Bazarr | 6767 | Subtitle management |
| Tautulli | 8181 | Plex monitoring |
| Notifiarr | 5454 | Notifications hub |
| Homepage | 3000 | Dashboard |
Make sure you have Docker and Docker Compose installed. See docs/prerequisites.md for details.
git clone https://github.com/yourusername/plex-arr-stack.git
cd plex-arr-stack
# Copy the example env file and edit it
cp .env.example .env
nano .envAt minimum, set these values in .env:
PUID/PGID— runidto find yoursTZ— your timezoneCONFIG_DIR— where service configs will be storedDATA_DIR— your root data directory (see docs/storage.md)PLEX_CLAIM— get a token at plex.tv/claim
# Create the data directories (adjust DATA_DIR to match your .env)
DATA_DIR=/opt/plex-arr-stack/data
sudo mkdir -p "$DATA_DIR"/{media/{movies,tv,music},torrents/{movies,tv,music}}
sudo chown -R $(id -u):$(id -g) "$DATA_DIR"docker compose up -dFollow the setup guides in order:
- qBittorrent — download client
- Prowlarr — indexer management
- Sonarr — TV shows
- Radarr — movies
- Lidarr — music
- Plex — media server
- Bazarr — subtitles
- Autobrr — IRC autodl
- Unpackerr — auto-extract
- Tautulli — monitoring
- Notifiarr — notifications
- Homepage — dashboard
Don't need everything? Comment out any service block in docker-compose.yml:
# bazarr:
# image: lscr.io/linuxserver/bazarr:latest
# ...Then run docker compose up -d again to apply.
| Guide | Description |
|---|---|
| Prerequisites | Hardware recs, OS setup, Docker install |
| Storage | Directory structure, permissions, hardlinks |
| Networking | Reverse proxy, Cloudflare tunnels, remote access |
| Maintenance | Backups, updates, logs, troubleshooting |
- TRaSH Guides — quality profiles, naming conventions, and best practices
- LinuxServer.io — container documentation
- Servarr Wiki — official *arr documentation