varthe / Redirecterr

Filter and redirect Overseerr requests based on requester, keywords, age ratings, and more. Supports routing to multiple instances simultaneously.
24 stars 0 forks source link

Redirecterr

Filter and redirect Overseerr requests based on requester, keywords, age ratings, and more. Supports routing to multiple instances simultaneously.

Getting Started

Docker Compose

Use the following docker-compose.yaml to deploy the Redirecterr service:

services:
  redirecterr:
    image: varthe/redirecterr:latest
    container_name: redirecterr
    hostname: redirecterr
    ports:
      - 8481:8481
    volumes:
      - /path/to/config:/config
      - /path/to/logs:/logs
    environment:
      - LOG_LEVEL=info

Overseerr webhook

In order for Redirecterr to work you need to disable automatic request approval for your users.

Then, navigate to Settings -> Notifications -> Webhook and configure the following:

Configuration Overview

The configuration for Redirecterr is defined in config.yaml. Below is a breakdown of the required and optional settings.

Required Settings

Instances

Define your Radarr and Sonarr instances in this section. You can name the instances as needed.

arrs quality_profiles

Filters

Define your request filters in this section.

Redirecterr processes filters sequentially and will apply the first matching filter it encounters. Make sure to order your filters appropriately to get the desired behavior.

Sample config.yaml

overseerr_url: "https://my-overseerr-instance.com"
overseerr_api_token: "YOUR_API_TOKEN"

instances:
  radarr: # Custom instance name
    server_id: 0
    root_folder: "/mnt/plex/Movies"
    approve: true
  radarr4k: # Custom instance name
    server_id: 1
    root_folder: "/mnt/plex/Movies - 4K"
    approve: true
  radarr_anime: # Custom instance name
    server_id: 2
    root_folder: "/mnt/plex/Movies - Anime"
    quality_profile_id: 2 # Optional
    approve: true
  sonarr: # Custom instance name
    server_id: 0
    root_folder: "/mnt/plex/Shows"
    approve: true

filters:
  - media_type: movie
    conditions:
      keywords: anime # Match if keyword "anime" is present
      requestedBy_username: varthe # Match if requested by "varthe"
      # requestedBy_email: ""
    apply: radarr_anime # Send request to "radarr_anime"
  - media_type: movie
    conditions:
      keywords: # Exclude requests with keywords "anime" or "animation"
        exclude:
          - anime
          - animation
    apply: # Send requests to "radarr" and "radarr4k"
      - radarr
      - radarr4k
  - media_type: tv
    conditions:
      genres: # Match if genre is "adventure" or "comedy"
        - adventure
        - comedy
      contentRatings: # Match if content rating is "12" or "16"
        - 12
        - 16
    apply: sonarr # Send request to "sonarr"