Install Jellyseerr on TrueNAS Scale

Media request manager for Jellyfin/Plex — users request movies and shows, the *arr stack handles the rest.

Cover for Install Jellyseerr on TrueNAS Scale

Jellyseerr is the media request manager for Jellyfin, Emby, and Plex — it lets users request movies and TV shows through a clean web UI, and the *arr stack handles the rest automatically.

What it is

Platform TrueNAS Scale (Docker custom app)
Port 5055 (web UI)
Image fallenbagel/jellyseerr:latest
Config path /mnt/apps/jellyseerr/config → /config
Purpose Media request management for Jellyfin/Plex/Emby
License MIT

Jellyseerr is the open-source fork of Overseerr, built for Jellyfin but also supporting Plex and Emby. Users browse or search for movies and TV shows, click "Request," and Jellyseerr communicates with Radarr/Sonarr to download and organize the content. The user gets a notification when the media is available.

It solves the "WhatsApp message" problem: instead of someone texting you "can you add this movie to Plex," they request it themselves through Jellyseerr, you approve it (or auto-approve), and the *arr stack handles the rest.

The hard part: connecting to Radarr/Sonarr and Jellyfin

The install is five minutes. The hard part is configuring the connections to Jellyfin, Radarr, and Sonarr so that requests flow through the entire pipeline without manual intervention.

PACKET ANALYSIS
Request flow
→ Jellyseerr notifies user
"Your movie is ready"
Connection chain
Jellyseerr → Jellyfin
http://<nas-ip>:8096 (library sync, user auth)
Jellyseerr → Radarr
http://<nas-ip>:7878 + API key
Jellyseerr → Sonarr
http://<nas-ip>:8989 + API key
Jellyseerr → Prowlarr
(indirect, via Radarr/Sonarr)

The mistake everyone makes: using localhost as the hostname for Jellyfin, Radarr, or Sonarr. On TrueNAS Scale with Docker networking, localhost inside the Jellyseerr container points to Jellyseerr itself. Use the NAS IP.

PACKET ANALYSIS
Correct connection chain
Jellyseerr → http
//192.168.1.x:8096 (NAS IP + Jellyfin port)
Jellyseerr → http
//192.168.1.x:7878 (NAS IP + Radarr port)
Jellyseerr → http
//192.168.1.x:8989 (NAS IP + Sonarr port)
Wrong connection chain
Jellyseerr → http
//localhost:8096 (Jellyseerr talks to itself)
Jellyseerr → http
//jellyfin:8096 (only works if on host networking)

How to install it

Docker Compose (TrueNAS Scale custom app)

services:
  jellyseerr:
    image: fallenbagel/jellyseerr:latest
    container_name: jellyseerr
    restart: unless-stopped
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/London
    ports:
      - 5055:5055
    volumes:
      - /mnt/apps/jellyseerr/config:/config

After deploy:

# Open the web UI at http://<nas-ip>:5055
# First-time setup wizard guides you through connections

Initial configuration

  1. Open Jellyseerr at http://<nas-ip>:5055
  2. Sign in with your Jellyfin/Plex account (or create a local account)
  3. Setup wizard runs:
  4. Jellyfin URL: http://<nas-ip>:8096
  5. Jellyfin API key: from Jellyfin → Settings → API Keys
  6. Radarr URL: http://<nas-ip>:7878 + API key from Radarr → Settings → General
  7. Sonarr URL: http://<nas-ip>:8989 + API key from Sonarr → Settings → General
  8. Test connections → all three should return "Successfully connected"
  9. Import libraries → Jellyseerr scans Jellyfin libraries to know what is already available

Configuration that matters

Connection settings

Service URL Where to find API key
Jellyfin http://<nas-ip>:8096 Jellyfin → Settings → API Keys
Radarr http://<nas-ip>:7878 Radarr → Settings → General → API Key
Sonarr http://<nas-ip>:8989 Sonarr → Settings → General → API Key

Request settings

Setting Recommended value Why
Default language profile Original Matches most users' preference
Default quality profile HD-1080p Balances quality and storage
Auto-approve requests Off (initially) Review requests before approving
Enable 4K requests Off (unless you have the storage) 4K files are 3–5x larger
Maximum queue size 50 per user Prevents abuse

User permissions

Permission Description
Request Can submit movie/TV requests
Approve Can approve requests from other users
Auto-approve Requests are approved automatically
Admin Full access to settings and all requests

Notifications

Agent Setup
Email Settings → Notifications → Email → SMTP server details
Discord Settings → Notifications → Discord → Webhook URL
Telegram Settings → Notifications → Telegram → Bot token + chat ID
Webhook Settings → Notifications → Webhook → Custom URL + template

What I'd tell anyone building this

  • Jellyseerr is the open-source alternative to Overseerr. Overseerr stopped active development; Jellyseerr is the maintained fork with Jellyfin support. If you run Jellyfin, use Jellyseerr. If you run Plex only, Overseerr still works but Jellyseerr is the better long-term choice.

  • The API keys are mandatory. Jellyseerr cannot communicate with Radarr, Sonarr, or Jellyfin without valid API keys. If any connection fails, check that the API key matches what is in the target app's Settings → General.

  • Auto-approve is useful but risky. For a personal server with one user, auto-approve saves time. For a shared server with multiple users, manual approval prevents someone from requesting 200 movies and filling your disk.

  • Jellyseerr imports Jellyfin libraries to know what you already have. If a user requests a movie that is already in Jellyfin, Jellyseerr shows "Available" instead of "Request." This prevents duplicate downloads.

  • The request queue is the bottleneck. If Radarr or Sonarr is not running, requests queue in Jellyseerr but do not download. Check that all three apps are running before enabling requests.

Get it

Links:

Quick install (Docker Compose):

services:
  jellyseerr:
    image: fallenbagel/jellyseerr:latest
    container_name: jellyseerr
    restart: unless-stopped
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/London
    ports:
      - 5055:5055
    volumes:
      - /mnt/apps/jellyseerr/config:/config

Log in at http://<nas-ip>:5055, connect Jellyfin, Radarr, and Sonarr via the setup wizard, and start requesting.

Comments (0)

Join the discussion — sign in to comment.

Sign in

No comments yet — be the first to share your thoughts.

Related reading