Skip to Content
Jellyseerr

Jellyseerr (Seerr)

Request management and media discovery for Jellyfin, Emby, and Plex

Overview

Jellyseerr (Seerr) is a free and open-source request management and media discovery tool built to work with your existing Jellyfin, Emby, or Plex media server. It provides an intuitive interface for users to discover and request movies and TV shows, which are then automatically sent to Sonarr and Radarr for download. With user quota management, approval workflows, and extensive notification support (Discord, Slack, email, Telegram), Seerr streamlines content requests for shared media servers.

QuickBox Pro installs Jellyseerr per user from the official seerr-team/seerr GitHub repository, building with Node.js 22.11.0 and pnpm. The installer creates isolated virtual environments at /opt/username/lib/nodejs/Jellyseerr/.venv, configures systemd service management, and sets up nginx reverse proxy access at /username/jellyseerr.

Deprecated -- Use Seerr

Jellyseerr has been unified into Seerr, the canonical media request manager for Plex, Jellyfin, and Emby. New installations should use qb install seerr -u username. Existing Jellyseerr installations are automatically migrated when you run qb update jellyseerr -u username. This page is retained for reference only.

Jellyseerr requests and the dashboard Media Requests page

The dashboard’s Media Requests page reads Seerr and Ombi instances. A Jellyseerr install does not appear there on its own — migrate it to Seerr (qb install seerr -u username --migrate --from jellyseerr, or just qb update jellyseerr -u username) and that user’s requests then show up as a Seerr instance.

Key features

Multi-Server Support

Native integration with Jellyfin, Emby, and Plex with automatic library scanning

Sonarr/Radarr Integration

Automatic request forwarding to media management tools with quality profile selection

User Management

Request quotas, approval workflows, and granular permissions per user

Rich Notifications

Discord, Slack, email, Telegram, and Pushover notifications for requests and approvals

Media Discovery

Browse popular, trending, and upcoming content from TMDb with rich metadata

Per-User Service

systemd unit jellyseerr@username with isolated Node.js venv and port allocation

Reverse Proxy Ready

nginx maps /username/jellyseerr to 127.0.0.1:5055 with automatic path rewriting

TLS Domain Support

Optional domain setup via qb install lecert --jellyseerr -d domain with SSL certificates

When to use it

Prerequisites

  • Need a per-user media request app for Plex, Jellyfin, or Emby
  • Want Seerr served under the QuickBox user path instead of a separate vhost
  • Require user quota management and approval workflows for content requests
  • Need automated notifications for request status updates across multiple channels

What you get

  • Install via qb install jellyseerr -u username to clone seerr-team/seerr and build with pnpm
  • Default nginx reverse proxy publishes https://host/username/jellyseerr to port 5055
  • Optional domain support via qb install lecert --jellyseerr -d domain -u username with SSL
  • Per-user systemd service jellyseerr@username with Node.js 22.11.0 venv and auto-start on boot

Installation

Install Seerr instead

For new servers, install Seerr — the unified replacement — rather than Jellyseerr. The instructions below are retained for existing installations and for reference.

Install from the Dashboard

Open App Dashboard → Package Management (/dashboard?mode=packages), find Jellyseerr in the catalog, and click Install. The dashboard streams the install log live and the app appears in your Application Control panel when it finishes. Reinstall, Update, and Remove are available from the same panel — running Update automatically migrates the install to Seerr.

What you see is gated by your account: admins manage any user’s apps; regular users manage their own. See App Management for the full flow.

Install from the CLI (automation)

qb install jellyseerr -u username qb install jellyseerr -u username -d 'domain' # with domain + TLS qb reinstall jellyseerr -u username qb update jellyseerr -u username # auto-migrates to Seerr qb remove jellyseerr -u username

Full flag reference: CLI Reference. For SSL on an existing install, use the unified Seerr target: qb install lecert --seerr -d domain -u username.

Initial Configuration

First-time setup, media-server connection, Sonarr/Radarr wiring, and notifications are identical to Seerr — follow Initial Configuration on the Seerr page. The interface and steps are the same; only the URL path (/username/jellyseerr) and the service name (jellyseerr@username) differ on an existing Jellyseerr install.

Access and authentication

URL / route

  • Default: http://host:port - https://host/username/jellyseerr (served by /etc/nginx/software/username.jellyseerr.conf127.0.0.1:5055)
  • With domain: https://domain/ (served by /etc/nginx/sites-enabled/username.jellyseerr.conf when installed with --jellyseerr -d domain from lecert, or qb install jellyseerr -u username -d domain)
Dashboard Quick Access

Find Seerr in your QuickBox dashboard Service Control panel with a direct LAUNCH button, port information, and service status indicator.

Security notes

  • The service runs as username via jellyseerr@username.service and reads environment settings from /opt/username/Jellyseerr/env.conf
  • TLS is provisioned when lecert installs certificates into /etc/nginx/ssl/domain/ and binds them in the generated vhost
  • First user to sign in becomes the administrator with full permissions
  • Additional users inherit permissions based on their media server role

Configuration and files

/opt/username
Jellyseerr/# Application root
├── env.conf# Holds PORT=5055 for this user
├── config/# Persistent app data
│ ├── settings.json# Primary application settings
│ └── db/# SQLite database storage
└── dist/# Built application served by Node
lib/# Isolated runtime environments
├── nodejs/
│ └── Jellyseerr/
│ │ └── .venv/# Node.js 22.11.0 environment
└── python/
│ └── Jellyseerr/
│ │ └── .venv/# Helper Python venv
/home/username/.config
Jellyseerr/# Symlink target for user config
/etc/nginx
software/
└── username.jellyseerr.conf# Default reverse proxy for /username/jellyseerr
sites-enabled/
└── username.jellyseerr.conf# Domain vhost created by lecert
/etc/systemd/system
jellyseerr@username.service# Per-user service unit

Common tasks

Service Management

Seerr runs as a per-user systemd service jellyseerr@username:

# Start/stop/restart service systemctl start jellyseerr@username systemctl stop jellyseerr@username systemctl restart jellyseerr@username # Check service status systemctl status jellyseerr@username # View live logs journalctl -u jellyseerr@username -f # Enable/disable auto-start on boot systemctl enable jellyseerr@username systemctl disable jellyseerr@username

Application Management

Use QuickBox CLI for application updates and maintenance:

# Update to latest release qb update jellyseerr -u username # Reinstall (preserves database) qb reinstall jellyseerr -u username # Remove application qb remove jellyseerr -u username # View help qb help jellyseerr

nginx Management

Reload nginx after configuration changes:

# Test configuration sudo nginx -t # Reload nginx sudo systemctl reload nginx

FAQ

The installer sets PORT=5055 in /opt/username/Jellyseerr/env.conf and records the same port in the QuickBox database for nginx templates and dashboard links. This is a fixed port per user.
Systemd unit: /etc/systemd/system/jellyseerr@username.service. Reverse proxy: /etc/nginx/software/username.jellyseerr.conf for the default path, or /etc/nginx/sites-enabled/username.jellyseerr.conf when installed with lecert --jellyseerr -d domain.
QuickBox clones seerr-team/seerr, checks out the latest tagged release, installs Node.js 22.11.0 with pnpm inside /opt/username/lib/nodejs/Jellyseerr/.venv, runs pnpm install --frozen-lockfile, builds with pnpm build, and then starts dist/index.js under the target user.
Seerr supports Jellyfin, Emby, and Plex, but you must choose one media server type during initial setup. To switch servers, you'll need to reconfigure or reinstall. However, Seerr can connect to multiple Sonarr/Radarr instances for content management.
Run qb update jellyseerr -u username — it automatically migrates the install to Seerr, preserving your settings, database, and port. You can also install Seerr directly with the built-in migration: qb install seerr -u username --migrate --from jellyseerr.
The QuickBox installer automatically enables webpush notifications in settings.json to allow browser push notifications for request updates. You can disable this in Seerr settings if not needed.

Best practices

The operational best practices are the same as Seerr — see Best practices on the Seerr page. The most important one for a deprecated Jellyseerr install: migrate to Seerr by running qb update jellyseerr -u username, which carries over your settings, database, and port.

Troubleshooting

Migrating to Seerr and the install timed out?

If qb update jellyseerr -u username (or the auto-migration it triggers) aborts with Timed out waiting for /opt/username/Seerr/config/settings.json after 60s, the failure is in the Seerr first-boot step, not Jellyseerr itself. See the dedicated recovery steps on the Seerr troubleshooting page.

Update left `/opt/username/Seerr` missing?

If an older update run wiped your install directory and you see cd: /opt/username/Seerr: No such file or directory, your last-known-good settings and request database are still on disk under /home/username/.QuickBox/software/seerr/backup/. Follow Recover from an update wipe on the Seerr page to reinstall and restore them.

Service will not start

Symptom: Seerr service fails to start or crashes immediately.

Checks:

  1. Check status: systemctl status jellyseerr@username
  2. View logs: journalctl -u jellyseerr@username -f
  3. Verify Node.js venv: /opt/username/lib/nodejs/Jellyseerr/.venv/bin/node --version (should show v22.11.0)
  4. Check permissions: ls -la /opt/username/Jellyseerr (should be owned by username:username)
  5. Verify port availability: ss -tuln | grep 5055 (port should not be in use by another service)

Resolution: If Node environment is missing or corrupted, reinstall with qb reinstall jellyseerr -u username to rebuild the virtual environment.

404 at /username/jellyseerr

Symptom: Accessing https://host/username/jellyseerr returns 404 Not Found.

Checks:

  1. Verify nginx config exists: ls -la /etc/nginx/software/username.jellyseerr.conf
  2. Check port in config matches env.conf: grep SOFTWARE_WEB_PORT_SED /etc/nginx/software/username.jellyseerr.conf and grep PORT /opt/username/Jellyseerr/env.conf
  3. Test nginx config: sudo nginx -t
  4. Check service status: systemctl status jellyseerr@username (should be active)
  5. Verify service is listening: ss -tuln | grep 5055

Resolution: Reload nginx with sudo systemctl reload nginx. If domain was installed, ensure /etc/nginx/sites-enabled/username.jellyseerr.conf references the active certificate paths under /etc/nginx/ssl/domain.

For request-flow problems (cannot connect to Sonarr/Radarr, requests not forwarding, Discord notifications) the diagnosis is identical to Seerr — see Troubleshooting on the Seerr page, substituting jellyseerr@username for the service name.

Media Servers

Media Management

Resources


Join the Community

Media server operators sharing configs, getting support, and shaping the future of QuickBox Pro.

Dedicated Support
Feature Previews
Community Configs
Active Discussions
Join Discord Server
Last updated on