Skip to content

daerup/SeerrFixarr

Repository files navigation

SeerrFixarr

SeerrFixarr automatically re-downloads media for which an issue has been reported in Seerr. If an issue is reopened, SeerrFixarr provides a one-time link for users to manually select.

Quick Start

  1. Put SeerrFixarr, Seerr, Sonarr and Radarr in the same Docker network for easy connectivity.
  2. Configure connection settings via environment variables.
  3. Configure Seerr to send a webhook to SeerrFixarr.

Deployment

See docker-compose.exampe.yml for an example deployment.

Configuration (define environment variables first)

Before configuring Seerr to call SeerrFixarr, define the required environment variables so the application has its settings available at startup.

Use environment variables to configure SeerrFixarr in containers or on the host. Example names and purposes:

Variable Name Description Example Value
EXTERNALHOST The externally accessible host/URL for SeerrFixarr (used in links sent to users) https://download.request.example.com
APIKEY API Key for authenticating incoming webhook/API requests <genenrate_a_secure_key>
JWTSIGNINGKEY A secure random string used to sign JWT tokens for one-time links <genenrate_a_secure_key>
SEERR__APIURL URL to the Seerr Api http://seerr:5055/api/v1
SEERR__APIKEY Api Key of your Seerr instance YOUR_KEY
RADARR__APIURL URL to the Radarr Api http://radarr:7878/api/v3
RADARR__APIKEY Api Key of your Radarr instance YOUR_KEY
SONARR__APIURL URL to the Sonarr Api http://sonarr:8989/api/v3
SONARR__APIKEY Api Key of your Sonarr instance YOUR_KEY
SERILOG__MINIMUMLEVEL__Default The minimum level of messages to log Information
USERREDIRECTKEYPOOL When creating one-time links, instead of using a random GUID, SeerrFixarr can use a pool of predefined keys per user which created the issue. When a issue is reopened, a key for the user is choosen at random. If the same user reopens a new issue within 10 minutes, another unique key is choosen. If no keys are specified or have run out, a random GUID will be used as fallback. (optional) alice:key1,key2;bob:wassup-bob
PORT The port SeerrFixarr listens on (optional, default: 80) 8080
TZ Set the timezone for logging timestamps (optional) Europe/Zurich

Webhook (Seerr) Configuration

With environment variables set, configure Seerr to call SeerrFixarr.

In Seerr go to Settings -> Notifications -> Webhooks and add a new webhook with these values:

  • URL: http://<your-seerrfixarr-container>:<port>/api/webhook
  • Authorization Header: The above defined API-Key
  • Notification Type: Issue Reported & Issue Reopened
  • JSON Payload:
{
  "notification_type": "{{notification_type}}",
  "reportedBy_username": "{{reportedBy_username}}",
  "issue_id": "{{issue_id}}"
}

--

With this configuration you are good to go! When an issue is reported or reopened in Seerr, SeerrFixarr will automatically handle the re-download process and provide one-time links when necessary.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors