On this page
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. Seerr (formerly 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.
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 (
7878Radarr,8989Sonarr,8096Jellyfin) — 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 Seerr actually does
Seerr 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:
- 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; Seerr 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.
Overseerr was the Plex-only original, and Jellyseerr was the fork that added Jellyfin and Emby support. In February 2026 the two teams merged into one project, Seerr, which supports Plex, Jellyfin, and Emby from one codebase. The old fallenbagel/jellyseerr image stopped updating in October 2025. Already running Jellyseerr? Follow the official migration guide. The screenshot below was captured on Jellyseerr before the rename; Seerr’s first-run wizard follows the same steps.
Task 1: Deploy the container
Run Seerr 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.
Seerr runs as the node user (UID 1000), not root, so create its config folder with that owner first, next to your compose file:
mkdir -p ./seerr/config
sudo chown -R 1000:1000 ./seerr/config
seerr:
image: ghcr.io/seerr-team/seerr:latest
init: true
container_name: seerr
environment:
- TZ=America/New_York
- PORT=5055
ports:
- "5055:5055"
volumes:
- ./seerr/config:/app/config
restart: unless-stopped
docker compose up -d seerr
docker compose logs -f seerr
Then browse to http://<host-ip>:5055 to reach the setup wizard.
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 Seerr knows what you already own.
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 Seerr owner.
Select which libraries Seerr 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.
Seerr 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 Seerr configuration docs walk through the same fields.
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 Seerr should request with. Mark it the Default server for movies.
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.
The single most common failure is Seerr 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 Seerr’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 — Seerr can ping you (email, Discord, Telegram, Gotify, and more) on new requests, and notify the requester when their title is ready to watch.
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.
Watch the request pipeline
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 Seerr 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:
- What Is the Arr Stack? Sonarr, Radarr, and Prowlarr Explained — the concepts Seerr sits on top of
- Deploy the Arr Stack with Docker Compose — the containers Seerr hands requests to
- Automating the Arr Stack — connect the download pipeline to your media server
- The Self-Healing Arr Stack — keep the pipeline alive when a key rotates or a cron dies
- Bazarr: Automatic Subtitles for Your Arr Stack — subtitles for everything the stack delivers
- Lidarr: Automate Your Music Library Like Sonarr — add music to the same stack
- Install Plex Media Server on a NAS or Proxmox LXC — the server Seerr can front
- Install Jellyfin on a NAS or Proxmox LXC — the fully open-source alternative
- How to Set Up Traefik with Let’s Encrypt — give the request page a clean HTTPS URL
Comments
Comments are powered by GitHub Discussions — sign in with a GitHub account to join the conversation.