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
Copy file name to clipboardExpand all lines: README.md
+62-38Lines changed: 62 additions & 38 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,7 +8,7 @@
8
8
</tr>
9
9
</table>
10
10
11
-
**NOTE**: This utilizes Radarr API Version - `3`. The Script: [huntarr.sh](huntarr.sh)
11
+
**NOTE**: This utilizes Radarr API Version - `3`.
12
12
13
13
## Table of Contents
14
14
-[Overview](#overview)
@@ -27,12 +27,12 @@
27
27
28
28
## Overview
29
29
30
-
This script continually searches your Radarr library for missing movies and movies that need quality upgrades. It automatically triggers searches for both missing movies and movies below your quality cutoff. It's designed to run continuously while being gentle on your indexers, helping you gradually complete your movie collection with the best available quality.
30
+
This script continually searches your Radarr library for movies with missing files and movies that need quality upgrades. It automatically triggers searches for both missing movies and movies below your quality cutoff. It's designed to run continuously while being gentle on your indexers, helping you gradually complete your movie collection with the best available quality.
31
31
32
32
## Related Projects
33
33
34
-
*[Huntarr - Sonarr Edition](https://github.com/plexguide/Sonarr-Hunter) - Sister version for TV shows
35
-
*[Huntarr - Lidarr Edition](https://github.com/plexguide/Lidarr-Hunter) - Sister version for music
34
+
*[Huntarr - Sonarr Edition](https://github.com/plexguide/Huntarr-Sonarr) - Sister version for TV shows
35
+
*[Huntarr - Lidarr Edition](https://github.com/plexguide/Huntarr-Lidarr) - Sister version for music
36
36
*[Unraid Intel ARC Deployment](https://github.com/plexguide/Unraid_Intel-ARC_Deployment) - Convert videos to AV1 Format (I've saved 325TB encoding to AV1)
37
37
* Visit [PlexGuide](https://plexguide.com) for more great scripts
38
38
@@ -52,6 +52,9 @@ My 12-year-old daughter is passionate about singing, dancing, and exploring STEM
52
52
- 🛡️ **Error Handling**: Gracefully handles connection issues and API failures
53
53
- 🔁 **State Tracking**: Remembers which movies have been processed to avoid duplicate searches
54
54
- ⚙️ **Configurable Reset Timer**: Automatically resets search history after a configurable period
55
+
- 📦 **Modular Design**: Modern codebase with separated concerns for easier maintenance
56
+
- ⏲️ **Configurable Timeouts**: Adjustable API timeout for large libraries
57
+
- 🗓️ **Future Release Filtering**: Option to skip movies with future release dates
55
58
56
59
## Indexers Approving of Huntarr:
57
60
*https://ninjacentral.co.za
@@ -61,6 +64,7 @@ My 12-year-old daughter is passionate about singing, dancing, and exploring STEM
61
64
1.**Initialization**: Connects to your Radarr instance and analyzes your library
62
65
2.**Missing Movies**:
63
66
- Identifies movies without files
67
+
- Optionally filters out future releases
64
68
- Randomly selects movies to process (up to configurable limit)
65
69
- Refreshes metadata and triggers searches
66
70
3.**Quality Upgrades**:
@@ -99,31 +103,40 @@ The following environment variables can be configured:
-Determines which type of search the script performs.
115
-
-Options:
116
-
-`"missing"`: Only processes missing movies (movies that haven't been downloaded yet).
117
-
-`"upgrade"`: Only processes movies that need quality upgrades (do not meet the quality cutoff).
118
-
-`"both"`: First processes missing movies and then processes upgrade movies in one cycle.
118
+
-**API_TIMEOUT**
119
+
-Sets the maximum number of seconds to wait for Radarr API responses before timing out.
120
+
-This is particularly important when working with large libraries.
121
+
- If you experience timeout errors, increase this value.
122
+
- For libraries with thousands of movies, values of 90-120 seconds may be necessary.
123
+
- Default is 60 seconds, which works well for most medium-sized libraries.
119
124
120
-
-**MAX_MISSING**
125
+
-**SKIP_FUTURE_RELEASES**
126
+
- When set to `true`, movies with release dates in the future will be skipped during missing movie processing.
127
+
- This prevents searching for content that isn't yet available.
128
+
- The script checks physical, digital, and theater release dates.
129
+
- Set to `false` if you want to process all missing movies regardless of release date.
130
+
131
+
-**HUNT_MISSING_MOVIES**
121
132
- Sets the maximum number of missing movies to process in each cycle.
122
133
- Once this limit is reached, the script stops processing further missing movies until the next cycle.
134
+
- Set to `0` to disable missing movie processing completely.
123
135
124
-
-**MAX_UPGRADES**
136
+
-**HUNT_UPGRADE_MOVIES**
125
137
- Sets the maximum number of upgrade movies to process in each cycle.
126
-
- When this limit is reached, the upgrade portion of the cycle stops and the script waits for the next cycle.
138
+
- When this limit is reached, the upgrade portion of the cycle stops.
139
+
- Set to `0` to disable quality upgrade processing completely.
127
140
128
141
-**RANDOM_SELECTION**
129
142
- When `true`, selects movies randomly, which helps distribute searches across your library.
@@ -133,9 +146,9 @@ The following environment variables can be configured:
133
146
- Controls how often the script "forgets" which movies it has already processed.
134
147
- The script records the IDs of missing movies and upgrade movies that have been processed.
135
148
- When the age of these records exceeds the number of hours set by this variable, the records are cleared automatically.
136
-
- This reset allows the script to re-check movies that were previously processed, so if there are changes (such as improved quality), they can be processed again.
149
+
- This reset allows the script to re-check movies that were previously processed, so if there are changes (such as improved quality), they can be processed again.
137
150
- Setting this to `0` will disable the reset functionality entirely - processed items will be remembered indefinitely.
138
-
- Default is 168 hours (one week) - meaning the script will start fresh and re-check everything weekly.
151
+
- Default is 168 hours (one week) - meaning the script will start fresh weekly.
139
152
140
153
-**DEBUG_MODE**
141
154
- When set to `true`, the script will output detailed debugging information about API responses and internal operations.
@@ -154,16 +167,16 @@ docker run -d --name huntarr-radarr \
154
167
--restart always \
155
168
-e API_KEY="your-api-key" \
156
169
-e API_URL="http://your-radarr-address:7878" \
170
+
-e API_TIMEOUT="90" \
157
171
-e MONITORED_ONLY="true" \
158
-
-e SEARCH_TYPE="both" \
159
-
-e MAX_MISSING="1" \
160
-
-e MAX_UPGRADES="5" \
172
+
-e SKIP_FUTURE_RELEASES="true" \
173
+
-e HUNT_MISSING_MOVIES="1" \
174
+
-e HUNT_UPGRADE_MOVIES="5" \
161
175
-e SLEEP_DURATION="900" \
162
176
-e RANDOM_SELECTION="true" \
163
177
-e STATE_RESET_INTERVAL_HOURS="168" \
164
178
-e DEBUG_MODE="false" \
165
-
huntarr/4radarr:latest
166
-
```
179
+
huntarr/huntarr-radarr:3.1
167
180
168
181
To check on the status of the program, you should see new files downloading or you can type:
169
182
```bash
@@ -178,16 +191,17 @@ For those who prefer Docker Compose, add this to your `docker-compose.yml` file:
178
191
version: "3.8"
179
192
services:
180
193
huntarr-radarr:
181
-
image: huntarr/4radarr:latest
194
+
image: huntarr/huntarr-radarr:3.1
182
195
container_name: huntarr-radarr
183
196
restart: always
184
197
environment:
185
198
API_KEY: "your-api-key"
186
199
API_URL: "http://your-radarr-address:7878"
200
+
API_TIMEOUT: "90"
187
201
MONITORED_ONLY: "true"
188
-
SEARCH_TYPE: "both"
189
-
MAX_MISSING: "1"
190
-
MAX_UPGRADES: "5"
202
+
SKIP_FUTURE_RELEASES: "true"
203
+
HUNT_MISSING_MOVIES: "1"
204
+
HUNT_UPGRADE_MOVIES: "5"
191
205
SLEEP_DURATION: "900"
192
206
RANDOM_SELECTION: "true"
193
207
STATE_RESET_INTERVAL_HOURS: "168"
@@ -213,15 +227,16 @@ docker run -d --name huntarr-radarr \
0 commit comments