Build your own Netflix at home
1️⃣ Shared Docker network
Create the single network so all containers can talk to each other:
docker network create media_net
All your containers (qbittorrent, radarr, sonarr, jackett, flaresolverr, prowlarr, jellyfin, jellyseer) must be on this network:
networks:
media_net:
external: true
🔹 2️⃣ qBittorrent
Role → main torrent client used by Radarr/Sonarr.
Web access → http://192.168.200.57:8080
Docker service name → qbittorrent
Configuration:
-
Credentials:
- Username:
media - Password:
supersecure123
- Username:
-
In Web UI settings:
-
Check Bypass authentication for clients on localhost
→ so Docker containers can connect to it.
-
-
Downloads:
- Folder:
/downloads(already mounted at/srv/media/downloads)
- Folder:
🔹 3️⃣ Radarr and Sonarr
Radarr (movies) → http://192.168.200.57:7878
Sonarr (TV shows) → http://192.168.200.57:8989
Shared configuration:
-
Copy the API key into each service (Settings → General → API Key).
-
Add qBittorrent as the torrent client:
Host: qbittorrent Port: 8080 Username: media Password: supersecure123→ “Connection succeeded”.
-
Folders:
- Radarr →
/movies - Sonarr →
/tv
- Radarr →
-
(Optional) Enable basic HTTP authentication if you expose the services.
🔹 4️⃣ FlareSolverr
Role → bypasses Cloudflare and captchas.
Internal URL → http://flaresolverr:8191
No specific configuration needed.
Just check it’s on the media_net network.
🔹 5️⃣ Prowlarr (up to proxy configuration)
Access → http://192.168.200.57:9696
Internal Docker URL → http://prowlarr:9696
Configuration:
-
Copy the API key (Settings → General).
-
Go to Settings → Indexers → Indexer Proxies → + Add Proxy
→ choose FlareSolverr
Host: http://flaresolverr:8191→ “Connection succeeded” then Save.
-
Go to Settings → Apps → + Add Application
-
Radarr
URL: http://radarr:7878 API Key: <radarr key> Server URL: http://prowlarr:9696 Sync Level: Full Sync -
Sonarr
URL: http://sonarr:8989 API Key: <sonarr key> Server URL: http://prowlarr:9696 Sync Level: Full Sync
→ Tests ✅ “Success”.
-
🔹 6️⃣ Jackett
Access → http://192.168.200.57:9117
Internal Docker URL → http://jackett:9117
Configuration:
-
Add FlareSolverr to Jackett for YGG:
-
Settings → Configuration → Advanced
Proxy Type: HTTP Proxy Host: flaresolverr Proxy Port: 8191→ Save.
-
-
Add the YGGtorrent tracker:
- Configure your account or cookies.
- Test → ✅ OK.
-
Copy the Jackett API key (top of the homepage).
-
In Jackett → verify YGG actually returns search results.
🔹 7️⃣ Back to Prowlarr (Jackett integration)
Adding Jackett as a Torznab indexer:
-
Settings → Indexers → + Add Indexer → Torznab → Custom
-
Fill in:
Name: Jackett-YGG URL: http://jackett:9117/api/v2.0/indexers/yggtorrent/results/torznab/ API Key: <Jackett API key>⚠️ Note the
/torznab/with the trailing slash. -
Test → ✅ “Connection succeeded”.
-
Save.
-
Verify categories (Movies / TV) are enabled.
🔹 8️⃣ Jellyfin — getting the API key
Access → http://192.168.200.57:8096
Internal Docker URL → http://jellyfin:8096
Steps:
- Log in as admin.
- Dashboard → Advanced → API Keys → + Create a key
- Name:
Jellyseer
- Name:
- Copy this API key (you’ll need it for Jellyseer).
🔹 9️⃣ Jellyseer
Access → http://192.168.200.57:5055
Internal Docker URL → http://jellyseer:5055
Step 1 — Connect to Jellyfin
In the setup wizard:
| Field | Value |
|---|---|
| Jellyfin URL | http://jellyfin |
| Port | 8096 |
| Use SSL | ❌ |
| Base URL | (leave blank) |
| Username | your Jellyfin user |
| Password | your Jellyfin password |
→ Click Sign In → move to the next step.
Step 2 — Configure the services
Radarr
Hostname: http://radarr:7878
API Key: <Radarr key>
Root Folder: /movies
Profile: HD-1080p (or other)
Enable Server: ✅
Sonarr
Hostname: http://sonarr:8989
API Key: <Sonarr key>
Root Folder: /tv
Profile: HD-1080p (or other)
Enable Server: ✅
Prowlarr (optional but recommended)
Hostname: http://prowlarr:9696
API Key: <Prowlarr key>
Enable Server: ✅
Jellyfin
Already connected earlier (via login or API key).
→ Click Test Connection for each service → all ✅.
→ Click Save / Next.
✅ Overall summary
| Service | Internal Docker URL | Port | API key used | Note |
|---|---|---|---|---|
| qBittorrent | qbittorrent | 8080 | — | Bypass local auth |
| Radarr | radarr | 7878 | Radarr | Movies |
| Sonarr | sonarr | 8989 | Sonarr | TV shows |
| FlareSolverr | flaresolverr | 8191 | — | Cloudflare proxy |
| Prowlarr | prowlarr | 9696 | Prowlarr | Centralizes indexers |
| Jackett | jackett | 9117 | Jackett | Provides YGG |
| Jellyfin | jellyfin | 8096 | Jellyfin | Media server |
| Jellyseer | jellyseer | 5055 | — | User interface |
🔁 Full workflow chain
Jellyseer
↓ (via API)
Radarr / Sonarr
↓
Prowlarr
↓
Jackett (with FlareSolverr)
↓
YGG / other trackers
↓
qBittorrent
↓
Downloads → Jellyfin (media available)
You can copy-paste this procedure as-is — it’s your final, stable, validated documentation for rebuilding the stack without missing a step.