You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Filter and redirect Overseerr/Jellyseerr requests based on requester, keywords, age ratings, and more. Supports routing to multiple instances simultaneously.
4
+
4
5
## Getting Started
5
6
6
7
### Docker Compose
@@ -9,17 +10,17 @@ Use the following `docker-compose.yaml` to deploy the Redirecterr service:
9
10
10
11
```yaml
11
12
services:
12
-
redirecterr:
13
-
image: varthe/redirecterr:latest
14
-
container_name: redirecterr
15
-
hostname: redirecterr
16
-
ports:
17
-
- 8481:8481
18
-
volumes:
19
-
- /path/to/config:/config
20
-
- /path/to/logs:/logs
21
-
environment:
22
-
- LOG_LEVEL=info
13
+
redirecterr:
14
+
image: varthe/redirecterr:latest
15
+
container_name: redirecterr
16
+
hostname: redirecterr
17
+
ports:
18
+
- 8481:8481
19
+
volumes:
20
+
- /path/to/config:/config
21
+
- /path/to/logs:/logs
22
+
environment:
23
+
- LOG_LEVEL=info
23
24
```
24
25
25
26
### Webhook setup
@@ -28,70 +29,74 @@ In order for Redirecterr to work you need to disable automatic request approval
28
29
29
30
Then, in your seerr navigate to **Settings -> Notifications -> Webhook** and configure the following:
The configuration for Redirecterr is defined in `config.yaml`. Below is a breakdown of the required and optional settings.
58
59
59
60
### Required Settings
60
61
61
-
- **`overseerr_url`**: The base URL of your Overseerr instance.
62
-
- **`overseerr_api_token`**: The API token for your Overseerr instance.
62
+
- **`overseerr_url`**: The base URL of your Overseerr instance.
63
+
- **`overseerr_api_token`**: The API token for your Overseerr instance.
63
64
64
65
### Fallback Settings
65
-
- **`approve_on_no_match`**: When no filters match, the request is approved automatically and handled by Overseerr according to its default settings. (Recommended)
66
+
67
+
- **`approve_on_no_match`**: When no filters match, the request is approved automatically and handled by Overseerr according to its default settings. (Recommended)
68
+
66
69
### Instances
67
70
68
71
Define your Radarr and Sonarr instances in this section. You can name the instances as needed.
69
72
70
-
- **`server_id`** (Required): The ID of the instance as shown in **Settings -> Services** in Overseerr. IDs start at 0 and increment sequentially from left to right (see image below).
71
-
- **`root_folder`** (Required): The path to the root folder for the instance, as configured in its settings.
72
-
- **`quality_profile_id`** (Optional): Overrides the default quality profile set in Overseerr. If not provided, the default profile will be used. To find the profile ID, open your browser and use the following URL, replacing `<url>` with your arr instance's URL and `<api-key>` with its API key:
This returns a JSON response listing all available quality profiles and their IDs. The ID can be found at the very bottom of the response.
77
-
- **`approve`** (Optional): Automatically approves requests by default. To disable, set this flag to `False` in the configuration.
78
-
73
+
- **`server_id`** (Required): The ID of the instance as shown in **Settings -> Services** in Overseerr. IDs start at 0 and increment sequentially from left to right (see image below).
74
+
- **`root_folder`** (Required): The path to the root folder for the instance, as configured in its settings.
75
+
- **`quality_profile_id`** (Optional): Overrides the default quality profile set in Overseerr. If not provided, the default profile will be used. To find the profile ID, open your browser and use the following URL, replacing `<url>` with your arr instance's URL and `<api-key>` with its API key:
- **`media_type`**: Specifies the type of media, either `"movie"` or `"tv"`.
86
-
- **`is_not_4k`**: Should only apply to non-4k requests
87
-
- **`is_4k`**: Should only apply to 4k requests
88
-
- **`conditions`**: A set of fields and values used to filter requests. Refer to [testData.js](https://github.com/varthe/Redirecterr/blob/main/testData.js) for examples of request objects. Each field within `conditions` can be:
89
-
- A **single value**: Matches if the value is present in the request.
90
-
- A **list of values**: Matches if any value in the list is present in the request.
91
-
- An **`exclude`** object: Used to exclude specific values. The `exclude`` object can contain either a single value or a list of values. The filter will match if none of the specified values are present in the request.
88
+
- **`media_type`**: Specifies the type of media, either `"movie"` or `"tv"`.
89
+
- **`is_not_4k`**: Should only apply to non-4k requests
90
+
- **`is_4k`**: Should only apply to 4k requests
91
+
- **`conditions`**: A set of fields and values used to filter requests. Refer to [testData.js](https://github.com/varthe/Redirecterr/blob/main/testData.js) for examples of request objects. Each field within `conditions` can be:
92
+
93
+
- A **single value**: Matches if the value is present in the request.
94
+
- A **list of values**: Matches if any value in the list is present in the request.
95
+
- A **`require`** object: Used to require specific values. The `require` object can contain either a single value or a list of values. The filter will match if all specified values are present in the request.
96
+
- An **`exclude`** object: Used to exclude specific values. The `exclude` object can contain either a single value or a list of values. The filter will match if none of the specified values are present in the request.
97
+
98
+
- **`apply`**: A list of instance names (defined in the **Instances** section) to which the request will be sent.
92
99
93
-
- **`apply`**: A list of instance names (defined in the **Instances** section) to which the request will be sent.
94
-
95
100
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.
0 commit comments