3.0 KiB
3.0 KiB
monitarr
A utility to remove and block stalled downloads in lidarr
, radarr
and sonarr
.
monitarr
will check for stalled downloads by keeping track of the bytes
transferred over a given time period (timeout_minutes
). If no change in
transferred bytes is detected, it will remove and block the stalled download
and then initiate a search for a replacement.
Usage
monitarr -b -i <index> -id <record id>
# blocklist and search record id at configuration index
monitarr -c
# display configuration
monitarr -h
# display help
monitarr -l -i <index>
# display server queue at configuration index
monitarr -r
# run monitarr server
monitarr -s -i <index> -id <record id>
# show record id details at configuration index
monitarr -t
# test all server connectivity
Initial setup
- Execute
monitarr -c
to create and display the initial configuration - Modify the
config/monitarr.json
file to add your servers. Theid
field must containlidarr
,radarr
orsonarr
but may include other characters to uniquely identify the server instance for multi-server setups. Example:
{
"check_interval_minutes": 5,
"server_list": [
{
"api_key": "<my api key>",
"api_version": "v1",
"id": "lidarr 1",
"timeout_minutes": 1440,
"url": "http://localhost:8686"
},
{
"api_key": "<my api key>",
"api_version": "v1",
"id": "lidarr 2",
"timeout_minutes": 1440,
"url": "http://localhost:8687"
},
{
"api_key": "<my api key>",
"api_version": "v3",
"id": "radarr",
"timeout_minutes": 1440,
"url": "http://localhost:7878"
},
{
"api_key": "<my api key>",
"api_version": "v3",
"id": "sonarr",
"timeout_minutes": 1440,
"url": "http://localhost:8989"
}
]
}
- Execute
monitarr -r
to continuously monitor the configured servers.
NOTE: All servers listed in the configuration file will be checked based on the
value of check_interval_minutes
. If no change is detected in a queued item
within the timeout_minutes
value, the download will be removed and blocked.
Credits
Inspired by the work of the following project: ArrStalledHandler
Developer Public Key
-----BEGIN PUBLIC KEY-----
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAqXedleDOugdk9sBpgFOA
0+MogIbBF7+iXIIHv8CRBbrrf8nxLSgQvbHQIP0EklebDgLZRgyGI3SSQYj7D957
uNf1//dpkELNzfuezgAyFer9+iH4Svq46HADp5k+ugaK0mMDZM7OLOgo7415/+z4
NIQopv8prMFdxkShr4e4dpR+S6LYMYMVjsi1gnYWaZJMWgzeZouXFSscS1/XDXSE
vr1Jfqme+RmB4Q2QqGcDrY2ijumCJYJzQqlwG6liJ4FNg0U3POTCQDhQmuUoEJe0
/dyiWlo48WQbBu6gUDHbTCCUSZPs2Lc9l65MqOCpX76+VXPYetZgqpMF4GVzb2y9
kETxFNpiMYBlOBZk0I1G33wqVmw46MI5IZMQ2z2F8Mzt1hByUNTgup2IQELCv1a5
a2ACs2TBRuAy1REeHhjLgiA/MpoGX7TpoHCGyo8jBChJVpP9ZHltKoChwDC+bIyx
rgYH3jYDkl2FFuAUJ8zAZl8U1kjqZb9HGq9ootMk34Dbo3IVkc2azB2orEP9F8QV
KxvZZDA9FAFEthSiNf5soJ6mZGLi0es5EWPoKMUEd9tG5bP980DySAWSSRK0AOfE
QShT/z7oG79Orxyomwrb8ZJCi7wEfcCuK1NWgqLVUgXhpi2J9WYS6DAbF3Oh3Hhl
DYSHlcfFBteqNDlR2uFInIECAwEAAQ==
-----END PUBLIC KEY-----