
ArrStalledHandler是一个基于Python的脚本,旨在处理Radarr、Sonarr、Lidarr和Readarr中的停滞下载,通过执行移除、阻止列表或阻止列表并重新搜索受影响项目等操作。它支持通过.env文件进行配置,提供日志功能以确保可见性,并可通过Docker部署以方便使用。
本仓库采用https://github.com/tommyvange/ArrStalledHandler/blob/main/LICENSE 授权。
由https://github.com/tommyvange 创建。完整的贡献者列表请参见https://github.com/tommyvange/ArrStalledHandler/blob/main/README.md#credits%E3%80%82
该项目可在https://github.com/tommyvange/ArrStalledHandler%E3%80%81https://hub.docker.com/r/tommythebeast/arrstalledhandler%E5%92%8Chttps://github.com/tommyvange/ArrStalledHandler/blob/main/README.md#unraid-deployment%E8%8E%B7%E5%8F%96%E3%80%82
https://github.com/tommyvange/ArrStalledHandler/actions/workflows/publish-docker-image.yml/badge.svg](https://github.com/tommyvange/ArrStalledHandler/actions/workflows/publish-docker-image.yml) https://github.com/tommyvange/ArrStalledHandler/actions/workflows/check-docker-image.yml/badge.svg?branch=main](https://github.com/tommyvange/ArrStalledHandler/actions/workflows/check-docker-image.yml)
脚本通过.env文件中指定的环境变量进行完全配置。以下是各配置选项的说明:
.env变量| 变量 | 描述 | 默认值 |
|---|---|---|
RADARR_URL | Radarr API的基础URL。示例:http://localhost:7878,http://otherhost:7878。 | 无(必填) |
RADARR_API_KEY | Radarr的API密钥(在Radarr设置中找到)。 | 无(必填) |
SONARR_URL | Sonarr API的基础URL。示例:http://localhost:8989,http://otherhost:8989。 | 无(必填) |
SONARR_API_KEY | Sonarr的API密钥(在Sonarr设置中找到)。 | 无(必填) |
LIDARR_URL | Lidarr API的基础URL。示例:http://localhost:8686,http://otherhost:8686。 | 无(必填) |
LIDARR_API_KEY | Lidarr的API密钥(在Lidarr设置中找到)。 | 无(必填) |
READARR_URL | Readarr API的基础URL。示例:http://localhost:8787,http://otherhost:8787。 | 无(必填) |
READARR_API_KEY | Readarr的API密钥(在Readarr设置中找到)。 | 无(必填) |
STALLED_TIMEOUT | 下载必须保持停滞状态的时间(秒),之后才执行操作。 | 3600(1小时) |
STALLED_ACTION | 对停滞下载执行的操作:REMOVE(移除)、BLOCKLIST(阻止列表)或BLOCKLIST_AND_SEARCH(阻止列表并搜索)。 | BLOCKLIST_AND_SEARCH |
VERBOSE | 启用详细日志以进行调试(true或false)。 | false |
RUN_INTERVAL | 在Docker中运行时,脚本执行之间的时间间隔(秒)。 | 300(5分钟) |
COUNT_DOWNLOADING_METADATA_AS_STALLED | 是否将状态为“Downloading Metadata”(正在下载元数据)的下载视为停滞。 | false |
若要禁用Radarr或Sonarr等服务,可将对应的URL留空。如果服务没有URL,则会被跳过。支持通过逗号分隔值配置多个服务实例。
初始化:
stalled_downloads.db)以跟踪停滞下载。检测停滞下载:
"The download is stalled with no connections"(下载停滞且无连接)识别停滞下载。"qBittorrent is downloading metadata"(qBittorrent正在下载元数据)将下载视为停滞(需启用COUNT_DOWNLOADING_METADATA_AS_STALLED)。超时检查:
STALLED_TIMEOUT时,才会处理该下载。执行配置的操作:
STALLED_ACTION设置执行操作:
日志记录:
重复执行:
RUN_INTERVAL后重复上述过程。!Unraid社区应用商店中的应用截图
容器将自动启动并开始处理停滞下载。
Docker Compose
更多信息参见Docker文档。
yamlservices: arr-stalled-handler: image: tommythebeast/arrstalledhandler:latest container_name: ArrStalledHandler restart: unless-stopped environment: RADARR_URL: "http://localhost:7878,http://otherhost:7878" RADARR_API_KEY: "your_radarr_api_key,your_2nd_radarr_api_key" SONARR_URL: "http://localhost:8989,http://otherhost:8989" SONARR_API_KEY: "your_sonarr_api_key,your_2nd_sonarr_api_key" LIDARR_URL: "http://localhost:8686,http://otherhost:8686" LIDARR_API_KEY: "your_lidarr_api_key,your_2nd_lidarr_api_key" READARR_URL: "http://localhost:8787,http://otherhost:8787" READARR_API_KEY: "your_readarr_api_key,our_2nd_readarr_api_key" STALLED_TIMEOUT: "3600" STALLED_ACTION: "BLOCKLIST_AND_SEARCH" VERBOSE: "false" RUN_INTERVAL: "300" COUNT_DOWNLOADING_METADATA_AS_STALLED: "false"
Docker CLI
更多信息参见Docker文档。
多行命令:
bashdocker run -d \ --name=ArrStalledHandler \ -e RADARR_URL=http://localhost:7878,http://otherhost:7878 \ -e RADARR_API_KEY=your_radarr_api_key,your_2nd_radarr_api_key \ -e SONARR_URL=http://localhost:8989,http://otherhost:8989 \ -e SONARR_API_KEY=your_sonarr_api_key,your_2nd_sonarr_api_key \ -e LIDARR_URL=http://localhost:8686,http://otherhost:8686 \ -e LIDARR_API_KEY=your_lidarr_api_key,your_2nd_lidarr_api_key \ -e READARR_URL=http://localhost:8787,http://otherhost:8787 \ -e READARR_API_KEY=your_readarr_api_key,our_2nd_readarr_api_key \ -e STALLED_TIMEOUT=3600 \ -e STALLED_ACTION=BLOCKLIST_AND_SEARCH \ -e VERBOSE=false \ -e RUN_INTERVAL=300 \ -e COUNT_DOWNLOADING_METADATA_AS_STALLED=false \ --restart unless-stopped \ tommythebeast/arrstalledhandler:latest
单行命令:
bashdocker run -d --name=ArrStalledHandler -e RADARR_URL=http://localhost:7878,http://otherhost:7878 -e RADARR_API_KEY=your_radarr_api_key,your_2nd_radarr_api_key -e SONARR_URL=http://localhost:8989,http://otherhost:8989 -e SONARR_API_KEY=your_sonarr_api_key,your_2nd_sonarr_api_key -e LIDARR_URL=http://localhost:8686,http://otherhost:8686 -e LIDARR_API_KEY=your_lidarr_api_key,your_2nd_lidarr_api_key -e READARR_URL=http://localhost:8787,http://otherhost:8787 -e READARR_API_KEY=your_readarr_api_key,our_2nd_readarr_api_key -e STALLED_TIMEOUT=3600 -e STALLED_ACTION=BLOCKLIST_AND_SEARCH -e VERBOSE=false -e RUN_INTERVAL=300 -e COUNT_DOWNLOADING_METADATA_AS_STALLED=false --restart unless-stopped tommythebeast/arrstalledhandler:latest
克隆仓库:
bashgit clone https://github.com/your-username/ArrStalledHandler.git cd ArrStalledHandler
配置环境:
创建.env文件并填充所需变量:
envRADARR_URL=http://localhost:7878,http://otherhost:7878 RADARR_API_KEY=aaaabbbbcccc111122223333,xxxxyyyyzzzz777788889999 SONARR_URL=http://localhost:8989,http://otherhost:8989 SONARR_API_KEY=aaaabbbbcccc111122223333,xxxxyyyyzzzz777788889999 LIDARR_URL=http://localhost:8686,http://otherhost:8686 LIDARR_API_KEY=aaaabbbbcccc111122223333,xxxxyyyyzzzz777788889999 READARR_URL=http://localhost:8787,http://otherhost:8787 READARR_API_KEY=aaaabbbbcccc111122223333,xxxxyyyyzzzz777788889999 STALLED_TIMEOUT=3600 STALLED_ACTION=BLOCKLIST_AND_SEARCH VERBOSE=false RUN_INTERVAL=300 COUNT_DOWNLOADING_METADATA_AS_STALLED=false
构建Docker镜像:
bashdocker-compose build .
运行Docker容器:
bashdocker-compose up -d
需要Python 3.13
克隆仓库:
bashgit clone https://github.com/your-username/ArrStalledHandler.git cd ArrStalledHandler
安装依赖:
bashpip install -r requirements.txt
配置环境:
创建.env文件并填充所需变量(内容同上)。
运行脚本:
bashpython main.py
VERBOSE环境变量控制。VERBOSE设为true,则启用调试级日志。示例日志输出:
textINFO: 正在检查Radarr中的停滞下载... INFO: 处理Radarr中的下载ID 1462067687(已停滞时间:400秒)。 INFO: 通过命令API触发Radarr中电影ID 770的搜索... INFO: 脚本执行完成。休眠300秒...
STALLED_TIMEOUT是否设置过高。| https://github.com/tommyvange |
可在我的https://github.com/tommyvange%E6%9F%A5%E7%9C%8B%E6%9B%B4%E5%A4%9A%E4%BD%9C%E5%93%81%EF%BC%8C%E6%88%96%E9%80%9A%E8%BF%87LinkedIn%E8%81%94%E7%B3%BB%E6%88%91%E3%80%82
非常感谢所有为改进、完善和支持此项目付出宝贵时间的人!
| https://github.com/supernovatroubling |
GNU通用公共许可证v3.0 (GPLv3) 是适用于软件和其他创意作品的免费、 copyleft 许可证。它确保您分享、修改和分发程序所有版本的自由,使软件对所有人保持自由。
完整许可证可参见https://github.com/tommyvange/ArrStalledHandler/blob/main/LICENSE%E6%88%96gnu.org%E3%80%82
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务