Skip to content

SeerrBridge automates movie torrent fetching by integrating Jellyseer/Overseer with DebridMediaManager. It listens to OverSeerr movie requests via webhook and uses DMM / Real-Debrid for efficient downloads. With features like persistent browser sessions and queue management, it simplifies media handling. https://discord.gg/Dy5xNzEHKw

License

Notifications You must be signed in to change notification settings

Woahai321/SeerrBridge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌉 SeerrBridge - Automate Your Media Fetching with DMM 🎬

seerrbridge-cover

GitHub last commit GitHub issues GitHub stars GitHub release Python Website LinkedIn

All Contributors


🚀 What is SeerrBridge?

🌉 SeerrBridge is a browser automation tool that integrates Jellyseer/Overseerr with Debrid Media Manager. It listens to movie requests via Overseerr webhook and automates the torrent search and download process using Debrid Media Manager via browser automation, which in turn gets sent to Real-Debrid. This streamlines your media management, making it fast and efficient.


⚡ Quick Start (1 Command!)

Just run this single command to get started. Docker will automatically pull the image if needed.

Windows PowerShell, Linux, & Mac:

docker run -d --name seerrbridge --restart unless-stopped -p 3777:3777 -p 8777:8777 -p 8778:8778 -p 3307:3306 -v seerrbridge_mysql_data:/var/lib/mysql -v ./logs:/app/logs -v ./data:/app/data ghcr.io/woahai321/seerrbridge:latest

That's it! Access the dashboard at http://localhost:3777

⚠️ Security Warning: This uses default passwords and is NOT recommended to expose publicly on the internet.

View logs: docker logs -f seerrbridge | Stop: docker stop seerrbridge && docker rm seerrbridge


🔑 Key Features
  • Automated Movie Requests: Processes movie requests from Overseerr and fetches torrents via Debrid Media Manager
  • TV Show Subscriptions: Automatically tracks and fetches individual episodes for ongoing shows
  • Debrid Media Manager Integration: Browser automation for torrent search & downloads
  • Modern Web Dashboard: Built-in Darth Vadarr dashboard (Nuxt 4/Vue 3) for monitoring and management
  • Queue Management: Asynchronous queue handling for smooth processing
  • Custom Regex Filtering: Filter unwanted content via web interface
  • Persistent Browser Session: Faster automation with Selenium session management
🛠️ Why SeerrBridge?

SeerrBridge eliminates the need to set up multiple applications like Radarr, Sonarr, Jackett, FlareSolverr, and other download clients. With SeerrBridge, you streamline your media management into one simple, automated process. No more juggling multiple tools—just request and download!

Simply put, I was too lazy to set up all of these other applications (arrs) and thought.... I want this instead.

sb

🌉 Darth Vadarr Dashboard

Modern web dashboard built with Nuxt 4 and Vue 3 providing a comprehensive visual interface to monitor, manage, and control your SeerrBridge automation.

Key Features:

  • Real-time status monitoring and statistics
  • Processed media library with advanced filtering
  • Search & discovery with Overseerr integration
  • Franchise collections browser
  • Categorized logs and monitoring
  • Settings & configuration management
  • Responsive design with dark/light themes

Access at http://localhost:3777 after starting the container.

image
🔍 How It Works
  1. Seerr Webhook: SeerrBridge listens for movie requests via the configured webhook.
  2. Automated Search: It uses Selenium to automate the search for movies on Debrid Media Manager site.
  3. Torrent Fetching: Once a matching torrent is found, SeerrBridge automates the Real-Debrid download process.
  4. Queue Management: Requests are added to a queue and processed one by one, ensuring smooth and efficient operation.

If you want to see the automation working in real-time, you can edit the .env and set HEADLESS_MODE=false. This will launch a visible Chrome browser. Be sure not to mess with it while it's operating or else you will break the current action/script and need a re-run.

image

Example:

sb

📊 Compatibility
Service Status Notes
Jellyseerr/Overseerr Main integration via webhook
Debrid Media Manager Torrent fetching automation
Real-Debrid Unrestricted downloader
List Sync Our other Seerr app for importing lists
SuggestArr Auto-grab related content
AllDebrid/TorBox Not Supported
Windows & Linux x86-64 Tested and working

🛠️ Configuration & Requirements

⚠️ Note: This script is still in BETA

Most configuration can be managed via the web dashboard at http://localhost:3777 after starting the container. However, you'll need to set up the following prerequisites:

1. Jellyseerr / Overseerr API & Notifications

  • SeerrBridge should be running on the same machine that Jellyseerr / Overseerr is running on

  • You will need the API key for your .env file (or configure via web dashboard)

  • For notifications, navigate to Settings > Notifications > Webhook > Turn it on, and configure as shown below:

    http://localhost:8777/jellyseer-webhook/

image

Ensure your JSON payload is the following:

{
    "notification_type": "{{notification_type}}",
    "event": "{{event}}",
    "subject": "{{subject}}",
    "message": "{{message}}",
    "image": "{{image}}",
    "{{media}}": {
        "media_type": "{{media_type}}",
        "tmdbId": "{{media_tmdbid}}",
        "tvdbId": "{{media_tvdbid}}",
        "status": "{{media_status}}",
        "status4k": "{{media_status4k}}"
    },
    "{{request}}": {
        "request_id": "{{request_id}}",
        "requestedBy_email": "{{requestedBy_email}}",
        "requestedBy_username": "{{requestedBy_username}}",
        "requestedBy_avatar": "{{requestedBy_avatar}}",
        "requestedBy_settings_discordId": "{{requestedBy_settings_discordId}}",
        "requestedBy_settings_telegramChatId": "{{requestedBy_settings_telegramChatId}}"
    },
    "{{issue}}": {
        "issue_id": "{{issue_id}}",
        "issue_type": "{{issue_type}}",
        "issue_status": "{{issue_status}}",
        "reportedBy_email": "{{reportedBy_email}}",
        "reportedBy_username": "{{reportedBy_username}}",
        "reportedBy_avatar": "{{reportedBy_avatar}}",
        "reportedBy_settings_discordId": "{{reportedBy_settings_discordId}}",
        "reportedBy_settings_telegramChatId": "{{reportedBy_settings_telegramChatId}}"
    },
    "{{comment}}": {
        "comment_message": "{{comment_message}}",
        "commentedBy_email": "{{commentedBy_email}}",
        "commentedBy_username": "{{commentedBy_username}}",
        "commentedBy_avatar": "{{commentedBy_avatar}}",
        "commentedBy_settings_discordId": "{{commentedBy_settings_discordId}}",
        "commentedBy_settings_telegramChatId": "{{commentedBy_settings_telegramChatId}}"
    },
    "{{extra}}": []
}

Notification Types should also be set to "Request Automatically Approved", and your user should be set to automatic approvals.

image

image

2. Real-Debrid Account

  • You will need a valid Real-Debrid account to authenticate and interact with the Debrid Media Manager
  • The Debrid Media Manager Access token, Client ID, Client Secret, & Refresh Tokens are used and should be set within your .env file or via the web dashboard
  • Grab this from your browser via Inspect > Application > Local Storage

image

This is what you want to copy from your local storage and set in your .env:

    RD_ACCESS_TOKEN={"value":"your_token","expiry":123}
    RD_CLIENT_ID=YOUR_CLIENT_ID
    RD_CLIENT_SECRET=YOUR_CLIENT_SECRET
    RD_REFRESH_TOKEN=YOUR_REFRESH_TOKEN

3. Trakt API / Client ID

  • Create a Trakt.tv account. Navigate to Settings > Your API Apps > New Application
  • You can use https://google.com as the redirect URI
  • Save the Client ID for your .env file or web dashboard

image image

Note: Most configuration (API keys, tokens, advanced settings, etc.) can be managed via the web interface and is stored securely in the database. Only database credentials and the master key need to be in the .env file.

Docker Network Configuration for Webhooks

If you're running both Overseerr/Jellyseerr and SeerrBridge in Docker:

  • Same Docker network: Use http://seerrbridge:8777/jellyseer-webhook/
  • Host machine: Use http://localhost:8777/jellyseer-webhook/
  • Different networks: Connect containers to the same network or use host IP

📺 Features & Settings

TV Show Subscriptions

Automatically tracks and fetches individual episodes for ongoing TV shows:

  • Episode-level automation when season packs unavailable
  • Smart subscription system with interval checking
  • Automatic retry for missed/failed episodes
  • Fully integrated with Debrid Media Manager & Real-Debrid

File Size Limits

Movies: 0 (unlimited), 1, 3, 5 (default), 15, 30, 60 GB
Episodes: 0 (unlimited), 0.1, 0.3, 0.5, 1 (default), 3, 5 GB

Custom Regex Filtering

Filter unwanted content using regex patterns. Default excludes:

  • Items with 【...】 formatting
  • Cyrillic characters
  • Items marked [esp]

Default Regex:

^(?!.*.*?)(?!.*[\u0400-\u04FF])(?!.*\[esp\]).*

With Resolution Filter:

^(?=.*(1080p|2160p))(?!.*.*?)(?!.*[\u0400-\u04FF])(?!.*\[esp\]).*
📜 More Regex Examples
  • With Torrent Types: ^(?=.*(Remux|BluRay|BDRip|BRRip))(?!.*【.*?】)(?!.*[\u0400-\u04FF])(?!.*\[esp\]).*
  • Types + Resolutions: ^(?=.*(1080p|2160p))(?=.*(Remux|BluRay|BDRip|BRRip))(?!.*【.*?】)(?!.*[\u0400-\u04FF])(?!.*\[esp\]).*
  • Resolution Only: ^(?=.*(1080p|2160p)).*
  • Types Only: ^(?=.*(Remux|BluRay|BDRip|BRRip)).*

🛤️ Roadmap
  • Faster Processing: Implement concurrency to handle multiple requests simultaneously
  • TV Show Support: Extend functionality to handle TV series and episodes
  • DMM Token: Ensure access token permanence/refresh
  • Jellyseer/Overseer API Integration: Direct integration for smoother automation
  • Title Parsing: Proper matching and handling of different languages
  • Docker Support: Docker / Compose container support
📊 Flowchart (Rectangle of Life)

image


📞 Contact

Have any questions or need help? Feel free to open an issue or connect with us on LinkedIn.


🤝 Contributing

We welcome contributions! Here's how you can help:

  1. Fork the repository on GitHub
  2. Create a new branch for your feature or bug fix
  3. Commit your changes
  4. Submit a pull request for review

💰 Support SeerrBridge's Development

If you find SeerrBridge useful and would like to support its development, consider becoming a sponsor:

➡️ Sponsor us on GitHub

Thank you for your support!


Star History

Star History Chart


Contributors 🌟

Kevin
Kevin

💻 🐛
Shivam Naik
Shivam Naik

💻
jacobmejilla
jacobmejilla

💻 🤔
David Young
David Young

📖

📄 License

This project is licensed under the MIT License.


📜 Legal Disclaimer

This repository and the accompanying software are intended for educational purposes only. The creators and contributors of this project do not condone or encourage the use of this tool for any illegal activities, including but not limited to copyright infringement, illegal downloading, or torrenting copyrighted content without proper authorization.

Usage of the Software:

  • SeerrBridge is designed to demonstrate and automate media management workflows. It is the user's responsibility to ensure that their usage of the software complies with all applicable laws and regulations in their country.
  • The tool integrates with third-party services which may have their own terms of service. Users must adhere to the terms of service of any external platforms or services they interact with.

No Liability:

  • The authors and contributors of this project are not liable for any misuse or claims that arise from the improper use of this software. You are solely responsible for ensuring that your use of this software complies with applicable copyright laws and other legal restrictions.
  • We do not provide support or assistance for any illegal activities or for bypassing any security measures or protections.

Educational Purpose:

This tool is provided as-is, for educational purposes, and to help users automate the management of their own legally obtained media. It is not intended to be used for pirating or distributing copyrighted material without permission.

If you are unsure about the legality of your actions, you should consult with a legal professional before using this software.

About

SeerrBridge automates movie torrent fetching by integrating Jellyseer/Overseer with DebridMediaManager. It listens to OverSeerr movie requests via webhook and uses DMM / Real-Debrid for efficient downloads. With features like persistent browser sessions and queue management, it simplifies media handling. https://discord.gg/Dy5xNzEHKw

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

 
 
 

Contributors 3

  •  
  •  
  •