
Seerr
Unified request management for Plex, Jellyfin, and Emby
Overview
Seerr is the unified media request manager that merges Overseerr and Jellyseerr into a single application, maintained by the seerr-team. It provides native support for Plex, Jellyfin, and Emby media servers with an intuitive interface for users to discover and request movies and TV shows. Requests are automatically forwarded to Sonarr and Radarr for download. User quota management, approval workflows, and extensive notification support (Discord, Slack, email, Telegram, Pushover) make Seerr the definitive content request tool for shared media servers.
QuickBox Pro installs Seerr per user from the official seerr-team/seerr GitHub repository, building with Node.js 22.11.0 and pnpm 10.24.0. The installer creates isolated virtual environments, configures systemd service management, and sets up nginx reverse proxy access.
Replaces Overseerr and Jellyseerr
Seerr is the canonical replacement for both Overseerr and Jellyseerr in QuickBox Pro. Running qb update overseerr -u username or qb update jellyseerr -u username automatically migrates to Seerr. New installations should use qb install seerr -u username directly.
Key features
🎬 Multi-Server Support
Native integration with Plex, Jellyfin, and Emby 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
🔄 Built-in Migration
Migrate from Overseerr or Jellyseerr with --migrate --from preserving settings, database, and ports
🧩 Per-User Service
systemd unit seerr@username with isolated Node.js venv and port allocation
🔗 Reverse Proxy Ready
nginx maps user path to local port with automatic path rewriting
🔒 TLS Domain Support
Optional domain setup via qb install lecert --seerr -d domain with SSL certificates
When to use it
Prerequisites
- Need a unified media request app supporting Plex, Jellyfin, and Emby
- Want to consolidate separate Overseerr and Jellyseerr installations
- 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 seerr -u usernameto clone seerr-team/seerr and build with pnpm - Default nginx reverse proxy publishes access on port 5055
- Optional domain support via
qb install seerr -u username -d domainorqb install lecert --seerr -d domain -u username - Per-user systemd service
seerr@usernamewith Node.js 22.11.0 venv and auto-start on boot
Installation
Install from the QuickBox CLI
qb install seerr -u usernameInstall with a domain (optional)
To publish Seerr at https://domain, combine lecert with the Seerr flag:
qb install lecert --seerr -d domain -u usernameOr, run on the install of Seerr using the domain flag:
qb install seerr -u username -d 'domain'The lecert workflow copies subdomain.nginx.conf, injects the Seerr port from the database, and writes /etc/nginx/sites-enabled/username.seerr.conf with the provided domain and certificate paths. When DNS credentials are configured (e.g., Cloudflare, Route53, DigitalOcean), the installer automatically detects them and uses DNS challenge validation.
Migrate from Overseerr or Jellyseerr
Seerr includes a built-in migration utility that preserves your settings, database, port assignment, nginx configuration, and URL overrides:
# Migrate from Jellyseerr
qb install seerr -u username --migrate --from jellyseerr
# Migrate from Overseerr
qb install seerr -u username --migrate --from overseerrThe migration process:
- Backs up the source application
- Stops the old service
- Copies
settings.jsonanddb.sqlite3to the new Seerr install - Preserves the original port assignment
- Creates new nginx configs from Seerr templates
- Migrates URL override entries
- Removes old database entries, service files, and install directories
- Reloads systemd and nginx
Automatic Migration on Update
Running qb update jellyseerr -u username or qb update overseerr -u username automatically triggers migration to Seerr. No manual intervention is needed.
Initial Configuration
First-Time Setup
On first access, Seerr prompts you to connect your media server:
- Open Seerr web interface at
http://host:port - Select Media Server Type: Choose Jellyfin, Emby, or Plex
- Authenticate: Sign in with your media server account
- Select Server: Pick your media server from the list
- Library Sync: Seerr automatically scans your media libraries
- Admin Assignment: First user to sign in becomes the administrator
QuickBox Dashboard Integration
Seerr is automatically integrated into your QuickBox dashboard. Find it in the Service Control panel with port and status information. Click the LAUNCH icon to open the web interface.
Connect Sonarr and Radarr
Configure media management integrations for automatic request handling:
- Navigate to Settings > Services in Seerr
- Add Radarr Server:
- Default Server - Enable for primary Radarr instance
- Server Name - Descriptive name (e.g., “QuickBox Radarr”)
- Hostname or IP -
localhost - Port - Your Radarr port (default
7878) - Use SSL - Uncheck (reverse proxy handles SSL)
- API Key - Copy from Radarr > Settings > General > API Key
- Quality Profile - Select default profile
- Root Folder - Select default media path
- Minimum Availability - Released, In Cinemas, or Announced
- Click Test to verify connection, then Save
- Add Sonarr Server:
- Follow same steps as Radarr
- Port - Your Sonarr port (default
8989) - API Key - Copy from Sonarr > Settings > General > API Key
- Quality Profile - Select default profile (e.g., “HD-1080p”)
- Root Folder - Select TV shows path
- Season Folder - Enable for organized library structure
- Click Test, then Save
Configure Notifications
Set up notification channels for request updates:
- Go to Settings > Notifications
- Discord Integration (recommended):
- Create Discord webhook in your server
- Enter Webhook URL
- Enable notification types: Media Requested, Media Approved, Media Available, Media Failed
- Click Test to send test notification
- Save Changes
- Email Notifications (optional):
- Configure SMTP Settings (host, port, credentials)
- Set From Email Address
- Enable desired notification types
- Save Changes
Access and authentication
URL / route
- Default:
http://host:5055(served by/etc/nginx/software/username.seerr.confproxying to127.0.0.1:5055) - With domain:
https://domain/(served by/etc/nginx/sites-enabled/username.seerr.confwhen installed with--seerr -d domainfrom lecert, orqb install seerr -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
usernameviaseerr@username.serviceand reads environment settings from/opt/username/Seerr/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
- Webpush notifications are enabled by default during installation
Configuration and files
Common tasks
Service Management
Seerr runs as a per-user systemd service seerr@username:
# Start/stop/restart service
systemctl start seerr@username
systemctl stop seerr@username
systemctl restart seerr@username
# Check service status
systemctl status seerr@username
# View live logs
journalctl -u seerr@username -f
# Enable/disable auto-start on boot
systemctl enable seerr@username
systemctl disable seerr@usernameApplication Management
Use QuickBox CLI for application updates and maintenance:
# Update to latest release
qb update seerr -u username
# Reinstall (preserves database)
qb reinstall seerr -u username
# Remove application
qb remove seerr -u username
# View help
qb help seerrnginx Management
Reload nginx after configuration changes:
# Test configuration
sudo nginx -t
# Reload nginx
sudo systemctl reload nginxFAQ
PORT=5055 in /opt/username/Seerr/env.conf and records the same port in the QuickBox database for nginx templates and dashboard links. When migrating from Overseerr or Jellyseerr, the original port is preserved./etc/systemd/system/seerr@username.service. Reverse proxy: /etc/nginx/software/username.seerr.conf for the default path, or /etc/nginx/sites-enabled/username.seerr.conf when installed with -d domain.seerr-team/seerr, checks out the latest tagged release, installs Node.js 22.11.0 with pnpm 10.24.0 inside /opt/username/lib/nodejs/Seerr/.venv, runs pnpm install --frozen-lockfile, builds with pnpm build, and starts the application under the target user.qb install seerr -u username --migrate --from overseerr or --from jellyseerr. This preserves your settings, database, port, nginx config, and URL overrides. Alternatively, running qb update jellyseerr or qb update overseerr automatically triggers the migration.settings.json to allow browser push notifications for request updates. You can disable this in Seerr settings if not needed.settings.json and db.sqlite3 from the old application, preserves the port assignment, creates new nginx configs from Seerr templates, and removes the old install. A backup of the source application is created before any changes are made.Best practices
Do
- Use
qb install seerr -u usernamefor new installations (add-d domainwhen needed) - Run
qb update jellyseerr -u usernameorqb update overseerr -u usernameto auto-migrate existing installations to Seerr - Check service health with
systemctl status seerr@usernameand tail logs withjournalctl -u seerr@username -f - Reload nginx after adding or removing a domain:
sudo systemctl reload nginx - Set up Discord or email notifications for request updates to keep users informed
- Configure user quotas to prevent request spam (5-10 requests per week is a good starting point)
- Enable approval workflows for non-admin users to moderate content requests
- Regularly sync media server libraries to keep Seerr metadata updated
- Backup
/opt/username/Seerr/config/before major updates or reinstalls
Don't
- Avoid editing generated nginx files by hand -- rerun
qb reinstall seerr -u usernameto refresh templates - Do not swap
PORTinenv.confwithout updating the stored port via qb workflows - Don't install both Seerr and Jellyseerr/Overseerr for the same user -- use migration instead
- Don't grant admin access to all users -- use request quotas and approval workflows
- Don't configure multiple default servers in Sonarr/Radarr settings -- causes request routing conflicts
- Don't ignore failed notifications -- check logs and fix webhook/SMTP issues
- Don't forget to configure root folders in Sonarr/Radarr -- requests will fail without valid paths
Troubleshooting
Service will not start
Symptom: Seerr service fails to start or crashes immediately.
Checks:
- Check status:
systemctl status seerr@username - View logs:
journalctl -u seerr@username -f - Verify Node.js venv:
/opt/username/lib/nodejs/Seerr/.venv/bin/node --version(should show v22.11.0) - Check permissions:
ls -la /opt/username/Seerr(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 seerr -u username to rebuild the virtual environment.
404 on Seerr URL
Symptom: Accessing Seerr through the reverse proxy returns 404 Not Found.
Checks:
- Verify nginx config exists:
ls -la /etc/nginx/software/username.seerr.conf - Check port in config matches env.conf:
grep PORT /opt/username/Seerr/env.conf - Test nginx config:
sudo nginx -t - Check service status:
systemctl status seerr@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.seerr.conf references the active certificate paths under /etc/nginx/ssl/domain.
Cannot connect to Sonarr/Radarr
Symptom: Seerr reports “Failed to connect to Radarr” or “Failed to connect to Sonarr”.
Checks:
- Verify services are running:
systemctl status sonarr@username systemctl status radarr@username - Test API connectivity:
curl http://localhost:7878/api/v3/system/status?apikey=YOUR_RADARR_API_KEY curl http://localhost:8989/api/v3/system/status?apikey=YOUR_SONARR_API_KEY - Verify API keys match in Seerr settings
- Check hostname configuration: use
localhost(not127.0.0.1or server IP)
Resolution: Update Seerr connection settings with correct API keys and ensure “Default Server” is checked for your primary Sonarr/Radarr instance.
Requests not sending to Sonarr/Radarr
Symptom: User requests are approved but not appearing in Sonarr/Radarr.
Checks:
- View Seerr logs:
journalctl -u seerr@username -f | grep -i error - Verify “Default Server” is configured: Settings > Services > Radarr/Sonarr > Check ‘Default Server’
- Ensure quality profiles exist and are selected
- Verify root folders are configured and paths are valid
Resolution: Test manual request from Seerr UI and watch logs. Ensure quality profile and root folder are properly configured.
Migration preserved wrong port
Symptom: After migration from Overseerr/Jellyseerr, Seerr is not accessible on the expected port.
Checks:
- Check env.conf:
cat /opt/username/Seerr/env.conf - Check database port: the migration reads the port from
user_softwareand writes it toenv.conf - Verify nginx config port matches
Resolution: If the port is incorrect, update /opt/username/Seerr/env.conf and the nginx config, then restart the service and reload nginx.
Related Applications
Request Management (Deprecated)
Resources
Official repository for the unified Seerr project
Comprehensive user guides and setup
Community support and discussions
Legacy Overseerr repository (Plex-only, deprecated)
Legacy Jellyseerr repository (now merged into Seerr)
Join the Community
Media server operators sharing configs, getting support, and shaping the future of QuickBox Pro.