本文最后更新于 2022年08月12日
高阶教程-追剧全流程自动化Jackett Sonarr Radarr Bazarr qBittorrent Emby Plex
经过几次更新,本文已经相对完善,还有一部分高级内容待补充,绝大部分内容和工具已囊括其中,能啃下来的话,剩下还没有写的高级内容,多看看官方GitHub issue和官方论坛,自己慢慢也能掌握
所有的操作,包括容器的镜像的下载与启动,我都推荐阅读两到3遍后,再进行操作
文尾有“一键启动”的docker-compose.yml配置文件,在通读完全文后,相信你已经有能力实操了,照着docker-compose.yml应该可以启动这些容器了,祝好运
今天是3.10日,我估计写完本篇文章大概需要2~3天 一个月也没写完,不准备写太细,因为这一套流程确实很复杂,很难懂,我也没有能力做到每一点都能讲得到
本文实在是太长了,涉及到的部分很多,我将会拆分开为几篇文章,并链接到本文中
Jackett Sonarr Radarr 介绍
从Jackett说起
Jackett是一个集成了众多种子站的索引index工具,可以通过API接口,把这些种子站的数据提供给Sonarr、Radarr用或者是制作RSS订阅,我自己用到只有Sonarr和Radarr,所以就单捡出Jackett搭配Sonarr来讲。Raddar这一块和Sonarr一样
使用docker部署Jackett
请根据自己的情况修改
docker create \ --name=jackett \ -e PUID=1000 \ -e PGID=1000 \ -e TZ=Asia/Shanghai \ -p 9117:9117 \ -v path to data:/config \ --restart unless-stopped \ linuxserver/jackett
Jackett中我们需要几个参数,API KEY
,category
和index地址
,这里面的index地址我们选择Torznab Feed
,这是Sonarr和Raddar都支持的API,点击Copy Torznab Feed
后即可拿到index地址
获得category,点击扳手获取
使用docker部署Sonarr
这里选用的是Sonarr3,也就是preview分支,Sonarr2已经停止添加新功能,进入维护阶段,Sonarr3开始支持中文index,并且内容识别度相比Sonarr2有了很大的提升,对于下载动画片来说,只有Sonarr3能用。
请根据自己的情况修改,所有的影视目录都需要这样分门别类的挂载,后面的qBittorrent也要这样,这里至关重要
docker create \ --name=sonarr \ -e PUID=1000 \ -e PGID=1000 \ -e TZ=Asia/Shanghai \ -p 8989:8989 \ -v path to data:/config \ -v /volume2/存储池2/影视:/影视 \ --restart unless-stopped \ linuxserver/sonarr:latest
之前关于docker卷挂载部分需要修订一下
实际上不需要把每一种影视分类都挂载上去,只需要挂载上级目录就可以了
如图所示
如果你的影视分类的上级目录不一致,才需要这样挂载
Sonarr设置
重命名打开,很重要
把我们上面挂载的目录统统添加上去
profiles里的any
修改为这样,Upgrade Until
根据个人需要可开可不开,这个是在有更好质量的文件的时候会自动再下载更好质量的文件做替换
Language Profiles
语言这里只下美剧不用改,下动画片需要多加个中文
index我用了这两个,从Jackett获取
关于Categories,一定要填写对应的,电视剧就填写电视剧的,动画片就填写动画片的,用英文逗号做分隔符
新版本已变更为勾选,不需要再填入数字了
我用的是qBittorrent,也推荐你们用qBittorrent
用https的记得勾选,没有的千万别勾选
使用Sonarr+qBittorrent下载剧集
很简单没啥可说的,搜索关键词尽量用英文
这里我说一下monitor
,常用的有这两个【All Episodes,Future Episodes】
All Episodes,下载已播出的全部剧集
Future Episodes,将要更新的剧集,已播出的不下载
另外不是所有剧集都能搜到,太新的就没有,比如zerozerozero
添加成功后便会检测更新,一旦更新就会自动调用qBittorrent下载
比如今天更新的西部世界第三季,我都不知道播出了,他就下载好了,然后EMBY里就出现了,很好很舒服
我之前说的挂载目录很重要的原因就在于此,sonarr会自动把剧集移动到指定目录,自己创建文件夹,改名,EMBY自动刮削剧集信息,这一切都是自动的不需要人为干预
已播出剧集的剧集下载
在已播出的整季剧集上,点season栏的放大镜是自动搜索并下载,人像是交互式搜索选择自己想要的文件下载
每一集剧情的小放大镜是那一集的自动搜索并下载,同理,小人像是那一集的交互式搜索选择自己想要的文件下载
Radarr
Radarr和sonarr设置起来差不多,并且更简单,语言只留英文就可以了,使用方法和sonarr一样
我觉得Radarr不是很好用,也不是非常必要,毕竟不是电视剧,周周更新,手动下载、归类那么麻烦,Radarr下电影还不如直接Jackett里搜索下载的,不过Radarr能重命名,不会让你的电影目录变的一团糟
docker create \ --name=radarr \ -e PUID=1000 \ -e PGID=1000 \ -e TZ=Asia/Shanghai \ -p 7878:7878 \ -v path to data:/config \ -v /volume2/存储池2/影视:/影视 \ --restart unless-stopped \ linuxserver/radarr:latest
qBittorrent
就说一点,文件夹的挂载,一定要分门别类的挂载,并且要全,除了config文件夹外,sonarr和radarr挂载了什么目录,qBittorrent就挂载什么目录,并且位置必须一致(只有媒体文件夹散落在各处才需要这样,如果都在影视文件夹下就不需要)
建议把 下载文件夹 放到 影视文件夹内
EMBY
我之前写过,本文关于权限和docker部分看不懂的可以参照这篇文章
PLEX
PLEX我推荐使用linuxserver的镜像,PLEX官方的dockerfile写的非常烂,连config文件夹的权限都没设置,如果没有使用root账户,连插件都加载不了
我的推荐是,取消PLEX从网络上刮削信息的能力,全部使用EMBY刮削的内容
PLEX刮削差EMBY太远太远了,文件夹遍历能力更是差到离谱,官方论坛不知道有多少人反馈过了,就是不改,导致大量的剧集显示不出来
插件:我这里打包好了,TV和movies的插件
请放到这个目录后,之后重启plex容器
编辑自己的PLEX资料库,电影资料库选择XBMCnfoMoviesImporter.bundle
,电视剧、纪录片、综艺、动画片选择XBMCnfoTVImporter.bundle
并取消下面的Enable generating Collections from tags
选项
效果如图
通过非sonarr下载的剧集整理
我看大家似乎都非常推崇TMM,但是有一说一,TMM真的不怎么样,唯一的优点就是文件夹能改名成中文吧。电影还好,电视剧和动画片他能整理的乱七八糟,季度和季度之间能把文件整理错,TMM之前把我整个电视剧库搞废过
大部分美剧命名都很规范,只要你下载的不是那种字幕压制在里面的视频
Preview Rename
直接编辑导入到sonarr里即可
非常复杂,sonarr是根据英文名称来的,所以不一定能识别,不能识别的就没办法了(除非手动一个一个改名字),能识别的话,剧集信息就会被整理的非常漂亮,EMBY里也可以显示每集的摘要。如果没有整理过EMBY和PLEX是不可能出现这么详细的信息的,这里的原理主要是因为文件名变更为美剧的S0E0规范
自动更新 Jackett Sonarr Raddar Bazarr qBittorrent Emby Plex
watchtower会每天早上五点检查一次所有镜像是否有新版本,有就会自动更新,Jackett Sonarr Raddar 更新非常频繁,且很有必要保持在最新版本(sonarr的昨天的更新,直接让我之前不能下载的剧集变成能下载)
sudo docker run -d \ --name watchtower \ --restart unless-stopped \ -v /var/run/docker.sock:/var/run/docker.sock \ containrrr/watchtower --cleanup --schedule "0 5 * * * *"
动画片部分
这一部分我必须要单独领出来讲,刚开始写的时候是合并在一起写的,动漫番剧的复杂度要比美剧复杂的多的多。越写越长,越写越失控。
容器内路径挂载部分讲解
我个人的建议也是,电视剧和动画片分开创建容器,各司其职
创建好单独为动画片所用的容器后,sonarr里的挂载的文件夹为这种形式
只挂载动画目录即可,这样搜索后创建的时候可以直接定位在动画文件夹,不需要再选择了,更加方便,电视剧容器也是遵从这个道理
因为所用index不同,美漫在dmhy等站是没有的,所以电视剧专用容器上也可以加上动画路径
主要,不要把下载文件夹添加到Root Folders
Sonarr高级教程补充篇-Profiles篇
自动下载字幕
本文是高阶教程-追剧全流程自动化关于字幕部分的补充篇,基本完善了Jackett Sonarr Radarr Bazarr这一整套的工具链流程,可以说是国内外关于Jackett Sonarr Radarr Bazarr写的最全最完整的介绍和教程
网络篇
因为一些原因,有些网站访问并不通畅,或者是打不开,比如tvdb tmdb,这就导致了Sonarr Radarr Bazarr Emby Plex等严重依赖部分媒体网站的软件,处于一种难以使用的状态,解决方法如下
有些index(索引)设置了cloudflare防火墙,无法直接使用,需要使用flaresolverr越过cloudflare防火墙
建议添加代理,网络不通畅的话会闪退重启
docker run -d \ --name=flaresolverr \ -p 8191:8191 \ -e LOG_LEVEL=info \ -e http_proxy=http://172.17.0.1:1234 -e all_proxy=http://172.17.0.1:1234 --restart unless-stopped \ ghcr.io/flaresolverr/flaresolverr:latest
jackett里添加flaresolverr
Sonarr Radarr与下载器的硬链接讲解
这篇拖了好久,总算完稿了,这篇文章也是值得买的值友提醒我的,一开始我也没注意到。关于Sonarr Radarr与下载器的硬链接hardlinking
,其实并不难理解,实现起来也非常简单,但是有一定的文件夹层次要求,比如我就无法实现
2020.09.11日更新
之前一直好奇这个插件Auto Organize
干嘛用的,昨天查了一下资料,得知是重命名影视文件的(废话,看名字也能看出来),关键是在于这个插件怎么用,后来研究了一下,只能重命名为英文(可以整理为中文),这样的话sonarr比他更好用
Sonarr Radarr V3已切换至latest版
Sonarr Radarr preview版已废弃,请切换至latest版
Overseerr是一个请求管理和媒体发现工具,专为与您现有的Plex生态系统协同工作而构建。
简单来说,它是一款媒体管理与媒体发现工具,可以与高阶教程-追剧全流程自动化中列举的一系列工具完美协同工作,一键添加你想要的媒体作品,简化操作流程与避免在各个软件中的反复跳转
docker-compose.yml
我编写了一份docker-compose.yml,目的不是为了方便一键启动这些容器,而是为了能够更好的理解我上面关于容器的设置,所以我放在了最后面,看完前面的部分,在看看docker-compose.yml,是不是就更清晰明了了呢
version: "3" services: # qbittorrent,推荐使用 host 网络模式,性能更好,少一层nat # 并且后面 下载器IP地址填写简单,填写 172.17.0.1 即可 # 注意:所有的UID,GID,要根据你的实际情况填写,不懂就都填写 0 # volumes 下的存储位置,请根据的实际情况修改 qbittorrent: image: linuxserver/qbittorrent:latest container_name: qbittorrent environment: - PUID=1026 - PGID=100 - TZ=Asia/Shanghai volumes: - /volume1/docker/qbittorrent:/config - /volume2/存储池2/影视:/影视 network_mode: host restart: unless-stopped jackett: image: linuxserver/jackett:latest container_name: jackett environment: - PUID=1026 - PGID=100 - TZ=Asia/Shanghai volumes: - /volume1/docker/jackett:/config ports: - 9117:9117 restart: unless-stopped radarr: image: linuxserver/radarr:latest container_name: radarr environment: - PUID=1026 - PGID=100 - TZ=Asia/Shanghai volumes: - /volume1/docker/radarr:/config ports: - 7878:7878 restart: unless-stopped # 需要两个 sonarr 的同学,再添加一个sonarr容器即可,记得更改 名字和端口映射 sonarr: image: linuxserver/sonarr:latest container_name: sonarr environment: - PUID=1026 - PGID=100 - TZ=Asia/Shanghai volumes: - /volume1/docker/sonarr:/config ports: - 8989:8989 restart: unless-stopped emby: image: emby/embyserver container_name: embyserver environment: - UID=1026 # The UID to run emby as (default: 2) - GID=100 # The GID to run emby as (default 2) - TZ=Asia/Shanghai - GIDLIST=100 # A comma-separated list of additional GIDs to run emby as (default: 2) volumes: - /volume1/docker/emby:/config - /volume2/存储池2/影视:/影视 ports: - 8096:8096 # HTTP port devices: - /dev/dri:/dev/dri # VAAPI/NVDEC/NVENC render nodes restart: unless-stopped # 自动更新docker镜像,可选,建议开启 watchtower: image: containrrr/watchtower container_name: watchtower restart: unless-stopped environment: - TZ=Asia/Shanghai volumes: - /var/run/docker.sock:/var/run/docker.sock command: --cleanup --interval 7200 # 网络方面,网络访问不通畅的可以用小猫咪,懂的用,不懂的请勿操作 # clash: # image: dreamacro/clash-premium # container_name: clash # restart: unless-stopped # network_mode: host # volumes: # - /volume1/docker/clash:/root/.config/clash
写过最长的一篇,太费力了。预计完成的时间也超过了我的预期,还剩下一部分没有写完,争取在两周内写完吧。(早的很)
不过费力归费力,这一套玩转后真的是太舒服了。
原文链接:https://sleele.com/2020/03/16/%E9%AB%98%E9%98%B6%E6%95%99%E7%A8%8B-%E8%BF%BD%E5%89%A7%E5%85%A8%E6%B5%81%E7%A8%8B%E8%87%AA%E5%8A%A8%E5%8C%96/comment-page-4/