What is Jellyseerr?
Jellyseerr is a request management system for Plex/Jellyfin that allows users to request content and admins to approve/deny requests before downloading.
Website: jellyseerr.dev
Jellyseerr integration enables request-based workflows perfect for multi-user environments.
When using Jellyseerr mode, Blockbusterr creates requests in Jellyseerr instead of directly adding to Radarr/Sonarr. This gives you an approval workflow.
What is Jellyseerr?
Jellyseerr is a request management system for Plex/Jellyfin that allows users to request content and admins to approve/deny requests before downloading.
Website: jellyseerr.dev
Why Use It?
Add Jellyseerr to your compose stack:
version: '3.8'
networks: media: driver: bridge
services: blockbusterr: image: ghcr.io/mahcks/blockbusterr:latest container_name: blockbusterr networks: - media ports: - "9090:9090" volumes: - ./blockbusterr/data:/app/data environment: - TZ=America/New_York restart: unless-stopped
jellyseerr: image: fallenbagel/jellyseerr:latest container_name: jellyseerr networks: - media ports: - "5055:5055" volumes: - ./jellyseerr/config:/app/config environment: - TZ=America/New_York restart: unless-stopped
radarr: image: linuxserver/radarr:latest container_name: radarr networks: - media # ... radarr config
sonarr: image: linuxserver/sonarr:latest container_name: sonarr networks: - media # ... sonarr configIf Jellyseerr is on a different machine:
In Blockbusterr config:
jellyseerr: enabled: true url: "http://192.168.1.50:5055" # Use IP address api_key: "your_jellyseerr_api_key"Open Jellyseerr web interface at http://localhost:5055
Click your profile icon (top right)
Go to Settings → General
Scroll to API Key section
Click Generate API Key if not already generated
Copy the API key
Minimal configuration to enable Jellyseerr:
integration: mode: "jellyseerr" # Use Jellyseerr mode
jellyseerr: enabled: true url: "http://jellyseerr:5055" api_key: "your_jellyseerr_api_key"config.yamlAdditional configuration options:
integration: mode: "jellyseerr"
jellyseerr: enabled: true url: "http://jellyseerr:5055" api_key: "your_jellyseerr_api_key"
# Optional: Default user ID for requests user_id: 1 # Admin user
# Optional: Request tags tags: - "blockbusterr" - "automated"user_id: The Jellyseerr user who “creates” the request. Defaults to admin (ID: 1).
tags: Tags applied to all requests for easy filtering.
When using Docker Compose with shared network:
# In docker-compose.yamlnetworks: media:
services: blockbusterr: networks: - media
jellyseerr: networks: - media# In config.yamljellyseerr: url: "http://jellyseerr:5055" # Use container nameTest the connection with curl:
curl "http://jellyseerr:5055/api/v1/status" \ -H "X-Api-Key: YOUR_API_KEY"Expected response:
{ "version": "1.9.2", "commitTag": "v1.9.2", "updateAvailable": false, "commitsBehind": 0}Check Blockbusterr logs after starting:
docker logs blockbusterr | grep jellyseerrLook for:
[INFO] Connected to Jellyseerr v1.9.2[INFO] Jellyseerr integration enabledIf you see errors:
[ERROR] Failed to connect to Jellyseerr: connection refusedCheck:
Add Radarr to Jellyseerr:
Add Sonarr to Jellyseerr:
Configure Auto-Approve (Optional):
Set Request Limits (Optional):
Blockbusterr job runs (e.g., trending_movies)
Content fetched from Trakt
Filters applied - content must pass Blockbusterr filters
Score threshold - content must meet threshold_score
Request created in Jellyseerr
Jellyseerr shows request in dashboard
Admin reviews and approves/denies
If approved, Jellyseerr sends to Radarr/Sonarr
Radarr/Sonarr searches and downloads
Blockbusterr job runs
High-score content found (e.g., 85+)
Request created in Jellyseerr
Jellyseerr auto-approves (based on user settings)
Immediately sent to Radarr/Sonarr
Download starts automatically
Scenario: Multiple users with approval workflow.
integration: mode: "jellyseerr"
jellyseerr: enabled: true url: "http://jellyseerr:5055" api_key: "your_key" user_id: 1 # Admin creates requests
jobs: family_movies: type: "movie" list_type: "trakt_popular" enabled: true schedule: "0 8 * * *" # Daily at 8 AM fetch_count: 50 threshold_score: 65In Jellyseerr:
Result: 10-15 movie requests daily, family reviews together
Scenario: Quality-focused with manual curation.
integration: mode: "jellyseerr"
jellyseerr: enabled: true url: "http://jellyseerr:5055" api_key: "your_key"
jobs: quality_movies: type: "movie" list_type: "smart_trakt_popular" enabled: true schedule: "0 0 * * 0" # Weekly fetch_count: 100 threshold_score: 75In Jellyseerr:
Result: 15-20 high-quality requests/week, manually curated
Scenario: Auto-add best, approve medium quality.
jobs: excellent_movies: type: "movie" list_type: "trakt_favorited" threshold_score: 85 # Very high
good_movies: type: "movie" list_type: "trakt_popular" threshold_score: 65 # MediumIn Jellyseerr:
Jellyseerr Dashboard
View all requests, their status (pending/approved/declined), and requester
Blockbusterr Activity
Check what Blockbusterr has created in the Activity log
Request Notifications
Configure Discord/Email notifications in Jellyseerr for new requests
Problem: Can’t connect to Jellyseerr
Check Jellyseerr is running:
docker ps | grep jellyseerrVerify network connectivity:
docker exec blockbusterr ping jellyseerrTest API key:
curl "http://jellyseerr:5055/api/v1/status" -H "X-Api-Key: YOUR_KEY"Check Blockbusterr logs:
docker logs blockbusterrProblem: Jobs run but no requests in Jellyseerr
Common causes:
Debug:
# Check activity logcurl http://localhost:9090/api/v1/activity
# Preview job to see what would be addedcurl -X POST http://localhost:9090/api/v1/jobs/preview/trending-moviesProblem: Requests show wrong user
Set user_id in config:
jellyseerr: user_id: 1 # Admin user (default)Find user IDs in Jellyseerr: Settings → Users
Integration Modes
Learn about Direct vs Jellyseerr modes
Configure Jobs
Set up automated content discovery
Use Cases
See real-world examples
Jellyseerr Docs
Official Jellyseerr documentation