
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.
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.
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 usernameto clone seerr-team/seerr and build with pnpm - Default nginx reverse proxy publishes
https://host/username/jellyseerrto port 5055 - Optional domain support via
qb install lecert --jellyseerr -d domain -u usernamewith SSL - Per-user systemd service
jellyseerr@usernamewith Node.js 22.11.0 venv and auto-start on boot
Installation
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 usernameFull 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.conf→127.0.0.1:5055) - With domain:
https://domain/(served by/etc/nginx/sites-enabled/username.jellyseerr.confwhen installed with--jellyseerr -d domainfrom lecert, orqb install jellyseerr -u username -d domain)
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
usernameviajellyseerr@username.serviceand 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
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@usernameApplication 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 jellyseerrnginx Management
Reload nginx after configuration changes:
# Test configuration
sudo nginx -t
# Reload nginx
sudo systemctl reload nginxFAQ
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./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.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.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.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
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.
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.
Symptom: Seerr service fails to start or crashes immediately.
Checks:
- Check status:
systemctl status jellyseerr@username - View logs:
journalctl -u jellyseerr@username -f - Verify Node.js venv:
/opt/username/lib/nodejs/Jellyseerr/.venv/bin/node --version(should show v22.11.0) - Check permissions:
ls -la /opt/username/Jellyseerr(should be owned byusername:username) - 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.
Symptom: Accessing https://host/username/jellyseerr returns 404 Not Found.
Checks:
- Verify nginx config exists:
ls -la /etc/nginx/software/username.jellyseerr.conf - Check port in config matches env.conf:
grep SOFTWARE_WEB_PORT_SED /etc/nginx/software/username.jellyseerr.confandgrep PORT /opt/username/Jellyseerr/env.conf - Test nginx config:
sudo nginx -t - Check service status:
systemctl status jellyseerr@username(should be active) - 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.
Related Applications
Resources
Join the Community
Media server operators sharing configs, getting support, and shaping the future of QuickBox Pro.