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.
- Put SeerrFixarr, Seerr, Sonarr and Radarr in the same Docker network for easy connectivity.
- Configure connection settings via environment variables.
- Configure Seerr to send a webhook to SeerrFixarr.
See docker-compose.exampe.yml for an example deployment.
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 |
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.