Build your own Netflix at home

Nov 5, 2025 · 4 min read

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 accesshttp://192.168.200.57:8080

Docker service nameqbittorrent

Configuration:

  1. Credentials:

    • Username: media
    • Password: supersecure123
  2. In Web UI settings:

    • Check Bypass authentication for clients on localhost

      → so Docker containers can connect to it.

  3. Downloads:

    • Folder: /downloads (already mounted at /srv/media/downloads)

🔹 3️⃣ Radarr and Sonarr

Radarr (movies)http://192.168.200.57:7878

Sonarr (TV shows)http://192.168.200.57:8989

Shared configuration:

  1. Copy the API key into each service (Settings → General → API Key).

  2. Add qBittorrent as the torrent client:

    Host: qbittorrent
    Port: 8080
    Username: media
    Password: supersecure123

    → “Connection succeeded”.

  3. Folders:

    • Radarr → /movies
    • Sonarr → /tv
  4. (Optional) Enable basic HTTP authentication if you expose the services.


🔹 4️⃣ FlareSolverr

Role → bypasses Cloudflare and captchas.

Internal URLhttp://flaresolverr:8191

No specific configuration needed.

Just check it’s on the media_net network.


🔹 5️⃣ Prowlarr (up to proxy configuration)

Accesshttp://192.168.200.57:9696

Internal Docker URLhttp://prowlarr:9696

Configuration:

  1. Copy the API key (Settings → General).

  2. Go to Settings → Indexers → Indexer Proxies → + Add Proxy

    → choose FlareSolverr

    Host: http://flaresolverr:8191

    → “Connection succeeded” then Save.

  3. 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

Accesshttp://192.168.200.57:9117

Internal Docker URLhttp://jackett:9117

Configuration:

  1. Add FlareSolverr to Jackett for YGG:

    • Settings → Configuration → Advanced

      Proxy Type: HTTP
      Proxy Host: flaresolverr
      Proxy Port: 8191

      → Save.

  2. Add the YGGtorrent tracker:

    • Configure your account or cookies.
    • Test → ✅ OK.
  3. Copy the Jackett API key (top of the homepage).

  4. In Jackett → verify YGG actually returns search results.


🔹 7️⃣ Back to Prowlarr (Jackett integration)

Adding Jackett as a Torznab indexer:

  1. Settings → Indexers → + Add Indexer → Torznab → Custom

  2. 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.

  3. Test → ✅ “Connection succeeded”.

  4. Save.

  5. Verify categories (Movies / TV) are enabled.


🔹 8️⃣ Jellyfin — getting the API key

Accesshttp://192.168.200.57:8096

Internal Docker URLhttp://jellyfin:8096

Steps:

  1. Log in as admin.
  2. Dashboard → Advanced → API Keys → + Create a key
    • Name: Jellyseer
  3. Copy this API key (you’ll need it for Jellyseer).

🔹 9️⃣ Jellyseer

Accesshttp://192.168.200.57:5055

Internal Docker URLhttp://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: ✅
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.