A Docker Compose stack for automated media management. Request a show or movie, it downloads and appears in Jellyfin—ready to watch, VPN-protected.
Works on Ugreen, Synology, QNAP, or any Docker host.
- Everything you need — Jellyfin (media server), Sonarr (TV), Radarr (movies), Prowlarr (indexers), Bazarr (subtitles), Jellyseerr (requests), qBittorrent (torrents), SABnzbd (Usenet), Pi-hole (ad-blocking DNS for your network), WireGuard (remote access), Cloudflare Tunnel (external access). Easy to add or remove.
- Flexible — Plex variant included. Supports 30+ VPN providers (Surfshark, NordVPN, PIA, Mullvad, ProtonVPN, etc.).
- Step-by-step setup guide — Not just a docker-compose file in a repo.
- Privacy by default — All downloads route through your VPN. No IP leaks.
Technical features
- Local
.landomains —http://sonarr.laninstead of port numbers - Auto-recovery — Services restart when VPN reconnects
- Production healthchecks — Not just "is the process running?"
- One-command backup script — Essential configs to ~13MB
- Pre-commit hooks — For contributors: validates secrets, YAML, port conflicts
The flow: Someone requests a show → it downloads automatically → appears in your media library.
Request: Jellyseerr → Sonarr/Radarr → Prowlarr Download: qBittorrent (torrents) or SABnzbd (Usenet) — both via VPN (Gluetun) Watch: Jellyfin — locally or remotely via Traefik
Choose your setup:
| Setup | How you access | What you need |
|---|---|---|
| Core | 192.168.1.50:8096 |
Just the stack |
| + local DNS | jellyfin.lan |
Configure Pi-hole + add Traefik |
| + remote access | jellyfin.yourdomain.com |
Add Cloudflare Tunnel |
| Doc | Purpose |
|---|---|
| Architecture | Understand how the stack fits together |
| Quick Reference | Cheat sheet: all URLs, ports, IPs, common commands |
| Upgrading | How to pull updates and redeploy |
| Backup & Restore | Backup your configs, restore after disaster |
| Home Assistant | Get notifications when downloads complete |
| Legal | What this software is for, disclaimer |
If this project helped you, give it a ⭐ to help others find it, or buy me a coffee:
Documentation, configuration files, and examples in this repository are licensed under CC BY-NC 4.0 (Attribution-NonCommercial). Individual software components (Sonarr, Radarr, Jellyfin, etc.) retain their own licenses.
Forked from TheRealCodeVoyage/arr-stack-setup-with-pihole.
This project provides configuration files for legal, open-source software designed for managing personal media libraries. All included tools have legitimate purposes - see LEGAL.md for details on intended use, user responsibilities, and disclaimer.
