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