Jellyseerr: Let Your Family Request Movies Themselves

Give your whole household a Netflix-style page to browse and request titles — Jellyseerr passes each approved request straight to Radarr and Sonarr, hands-free.

On this page
  1. What Jellyseerr actually does
  2. Task 1: Deploy the container
  3. Task 2: Connect your media server
  4. Task 3: Wire in Radarr and Sonarr — the part that matters
  5. Task 4: Set approvals and quotas
  6. What’s next

You built the Arr stack, deployed it with Docker, and wired the automation together. It works — but only you can drive it. When your partner wants a film, they still text you, and you still log into Radarr like it’s a job. Jellyseerr closes that gap: a clean, streaming-style page where anyone in the house browses, taps Request, and the title flows through Radarr or Sonarr into Plex or Jellyfin on its own.

This is the piece that turns a media stack into a media service. Below is the full deploy and the exact integration settings that make a request actually download.

First: make these values your own

Commands below use placeholder values — swap in yours before running:

  • <host-ip> — the LAN IP of the machine running your stack (e.g. 192.168.1.50)
  • TZ=America/New_York — your own timezone
  • Service ports (7878 Radarr, 8989 Sonarr, 8096 Jellyfin) — change only if you moved them off the defaults
  • YOUR_RADARR_API_KEY / YOUR_SONARR_API_KEY — copied from each app, kept in your secret store, never pasted into a note

Rule of thumb: if a value looks specific to one machine, it’s a placeholder to change — not a literal to copy.


What Jellyseerr actually does

Jellyseerr is a request-and-discovery front end. It does not download anything itself — it orchestrates the apps you already run. A request travels the whole pipeline without you touching Radarr:

A request, end to end — no admin in the loopHouseholdtaps RequestJellyseerrapproveRadarr /Sonarrsearch + grabDownloadclientvia ProwlarrPlex /Jellyfinavailablebuildahomelab.dev
  • Browse & search — pulls artwork and metadata from TMDB so titles look like a streaming catalogue, and shows what’s already in your library.
  • Request — a user taps a poster; Jellyseerr records the request and (optionally) asks for approval.
  • Hand off — on approval it sends the title to Radarr (movies) or Sonarr (TV), with a root folder and quality profile you choose.
  • Track & notify — it watches the download and marks the request Available once the file lands in your library, optionally emailing or pinging the requester.
Jellyseerr vs Overseerr

Overseerr is Plex-only. Jellyseerr is the community fork that adds native Jellyfin and Emby support while keeping Plex working exactly the same. Pick Jellyseerr — it costs you nothing and keeps the door open if you ever switch servers.


Task 1: Deploy the container

Run Jellyseerr wherever the rest of your stack lives — the same Docker-on-Proxmox LXC or VM, your NAS, or a dedicated box. It’s a single lightweight container with one persistent volume for its config.

1Add the service to your compose file2 min
Add to your media docker-compose.yml

jellyseerr:
  image: fallenbagel/jellyseerr:latest
  container_name: jellyseerr
  environment:
    - TZ=America/New_York
    - PORT=5055
  ports:
    - "5055:5055"
  volumes:
    - ./jellyseerr/config:/app/config
  restart: unless-stopped
2Bring it up and open the UI3 min
Start it

docker compose up -d jellyseerr
docker compose logs -f jellyseerr

Then browse to http://<host-ip>:5055 to reach the setup wizard.

Give it a real URL

Port 5055 is fine for testing, but this is the one service non-technical people in your house will actually use. Put it behind your reverse proxy so it gets a clean HTTPS name like requests.homelab.lan — see the Traefik + Let’s Encrypt guide. A memorable URL is the difference between people using it and going back to texting you.


Task 2: Connect your media server

The setup wizard runs on first launch. It signs you in as the admin and links your library so Jellyseerr knows what you already own.

1Sign in with your media server3 min

Choose Plex or Jellyfin/Emby and authenticate. For Jellyfin, enter the server URL (e.g. http://<host-ip>:8096) and an admin login. This first account becomes the Jellyseerr owner.

2Import your libraries2 min

Select which libraries Jellyseerr should scan (Movies, TV). It reads them so already-owned titles show as Available instead of offering a pointless second request. Run the initial scan before moving on.

3Import users (optional)2 min

Jellyseerr can pull in your existing Plex or Jellyfin users so household members log in with credentials they already have — no new accounts to hand out.


Task 3: Wire in Radarr and Sonarr — the part that matters

This is where most setups break. A request that has nowhere to go just sits as Pending forever. Under Settings → Services, add each Arr app with the same root folder and quality profile you’d pick if you added the title by hand. The official Jellyseerr configuration docs walk through the same fields.

1Add Radarr4 min

Enter the Radarr URL (http://<host-ip>:7878) and its API key (Radarr → Settings → General → YOUR_RADARR_API_KEY). Test the connection, then set the Root Folder (your /data/media/movies) and the Quality Profile Jellyseerr should request with. Mark it the Default server for movies.

2Add Sonarr4 min

Same process on port 8989 with YOUR_SONARR_API_KEY. Sonarr also asks for a Language Profile and lets you set a default Series Type (Standard for most shows, Anime if that’s your thing). Set it as the default TV server.

Match the folder and profile exactly

The single most common failure is Jellyseerr adding titles with the wrong root folder or a profile your indexers can’t satisfy — the request is “approved” but nothing ever downloads. Whatever root folder and quality profile your working manual adds use in Radarr/Sonarr, set the same values here. If manual adds work and Jellyseerr’s don’t, this mismatch is why.


Task 4: Set approvals and quotas

Out of the box the admin’s own requests auto-approve and everyone else’s wait for you. Tune this under Settings → Users and each user’s permissions:

  • Auto-approve — grant it to trusted adults so their requests download instantly with no notification to you. Leave kids on manual approval.
  • Request quotas — cap how many movies/shows a user can request per week so one person can’t queue up 400 titles overnight.
  • Notifications — Jellyseerr can ping you (email, Discord, Telegram, Gotify, and more) on new requests, and notify the requester when their title is ready to watch.
Roles beat per-user settings

Set permissions on a couple of roles — “Adults” (auto-approve, higher quota) and “Kids” (manual, low quota) — rather than clicking through every account. New household members just get dropped into the right role.


What’s next

With this in place your media stack is genuinely hands-off: someone opens the request page on their phone, taps Request, and Radarr searches your Prowlarr indexers, grabs the title through your VPN-shielded download client, and imports it as an instant hardlink — while Jellyseerr flips the request to Available and notifies the requester. No admin in the loop, no texts, no logging into Radarr.

The next thing worth adding is monitoring so you know the pipeline is healthy even when nobody’s requesting — the self-healing Arr stack covers the failure mode where this all silently stops working.


Related posts:

Comments

Comments are powered by GitHub Discussions — sign in with a GitHub account to join the conversation.