Docker搭建自动下载器
自动寻找并下载影视
最近买的12TB的硬盘到手了,测试过后没问题就把它接到了我的小服务器上
于是立马开始搭建我期待已久的自动下载器
在用 Docker 搭建的过程中,也碰到了许多没碰到过的问题,最后也都解决了这些问题
把搭建的过程记录一下,这样以后也能少走点弯路,少踩点坑
jackett 搭建
jackett 是一个索引器,它可以提供各种资源网站的检索 api,后面 sonarr 可以使用它提供的 api 去对应的资源网站寻找我们需要的资源
用 Docker 搭建起来也很简单,建议使用普通用户来使用 Docker,这样更方便和安全
1 |
|
拉取镜像
1 |
|
创建容器
1 |
|
PUID 和 PGID 设置为用 Docker 权限的用户的 PUID 和 PGID,使用 id
命令就可以知道了path-to-jackett-config
文件是 jackett 的配置文件映射,不做也行,但是容器更新的时候,配置也会重置,jackett 的更新特别频繁
创建好后,运行容器,浏览器打开 服务器ip:9117
在打开的网页中,点击 Add indexer
来添加资源网站,我经常看番,所以我添加了dmhy(动漫花园)等番剧资源多的网站
如果有 pt 等网站的会员,也可以在里面寻找并添加进来
qBittorrent 搭建
搭建好 jackett 后,继续搭建下载器,这里我使用的是 qBittorrent
虽然可以直接用命令自动安装,但我在使用的过程中还是碰到了一些问题,最后我还是选择了用 Docker 搭建一个
拉取镜像
1 |
|
选择一个目录用来存放下载的文件,在里面新建一个 downloads 目录,别的名字也行,按个人喜好,我直接用挂载的硬盘来存放下载的文件
现在的目录结构如下
1 |
|
disk是我挂载的硬盘的位置,其实就是一个目录
记得将该目录所有者设置为拥有 Docker 权限的用户
1 |
|
创建容器
1 |
|
启动容器后,浏览器打开 服务器ip:8080
默认账户 admin,密码 adminadmin
设置默认下载位置为 /downloads
,这里设置的是 Docker 容器里面的路径,不是真实的路径
如下所示
注意
此处的默认 Torrent 管理模式要设置为 Automatic(自动)
sonarr 搭建
sonarr 如其名,声纳,是一个拿来搜索资源的工具,它可以用来寻找资源,找到后调用下载器下载,下载好后会自动整理文件,非常方便
这里也是我踩坑最多的地方,一个不小心就会碰到各种问题
在用来存放下载文件的目录的同级目录下,创建各种目录,这些目录是用来后面分类用到,随自己喜欢
我比较懒,分类就分了三个大类 anime(动画),tv(电视剧),movie(电影)
当前目录结构如下
1 |
|
注意
创建新的目录后,记得修改它的权限,否则可能会有无法挂载或无法移动文件的情况发生
1 |
|
- -R 递归修改,简单粗暴,一次性全部修改
拉取镜像
1 |
|
创建容器
1 |
|
此处挂载了 /disk
后,又挂载了 /disk/downloads
不是错误,一定要挂载,这里我踩了个大坑,如果不挂载,会发生没有权限移动文件的错误,一定要挂载
启动容器后,浏览器打开 服务器ip:8989
,开始配置一些必要的设置
Media Management
Settings -> Media Management,开启重命名
开启硬链接,如果不开启硬链接,那么 downloads 下会有一份你下载的文件,分类的目录下也会有一份,相当于拷贝了一份过去
如果设置了硬链接,那么在分类的目录下就只是一个指向 downloads 中文件的指针,想了解更多,可以去看看 Linux 的硬链接
https://www.runoob.com/note/29134
挂载刚才创建各目录
Profiles
Profiles -> Quality Profiles -> Any 设置视频的清晰度,只有勾选了该清晰度,才会被下载
Upgrades Allowed 勾选后,如果视频有更高的清晰度时,是否自动更新
Upgrade Until 直到这个清晰度为止,都会尝试去升级清晰度
Language Profiles 添加中文
Indexer
点击添加,选择 Torznab
URL 是 jackett 那边提供的 indexer 地址
API Key 是 jackett 右上角的 API
Categories 选择想要的类型就可以了,如果不想选择,可以全都要
Download Clients
添加 qBittorrent
Host 设置为服务器的 IP 地址
Port 设置为 8080
Username 如果没有修改 qBittorrent 的账户名就设置为 admin
Password 设置为 adminadmin
添加一个 Remote Path Mappings
Host 为 qBittorrent
Remote Path 为 /downloads/
Local Path 为 /disk/downloads/
- Remote Path 是 qBittorrent 的路径,把它看作
qBittorrent的IP地址:/downloads
就容易理解了,注意这里用的是 Docker 容器内的路径,不是真实的 - Local Path 是 sonarr 的 docker 容器内的地址
开始找剧集
搭建完成,可以开启自动找番剧了,最上方输入想要找的名字,英文的
搜索到后,选择并添加,动画的 Series Type 记得选择 Anime,否则可能找不到
添加后就可以在 Series 里面看到了,点击进去可以看到每一季的信息
点击放大镜是开始检索,旁边的人像是有多种选择的情况下,手动选择
运行成功的结果如下
自动更新 Docker 镜像
由于镜像会更新,而且有的更新的还很频繁,这就是为什么要把配置文件映射出来了,这样更新镜像的时候,配置不会消失
除了手动更新外,还可以自动更新
Watchtower 搭建
Watchtower 可以自动检测镜像是否有更新,如果有就会自动拉取新的镜像
拉取镜像
1 |
|
运行容器
1 |
|
- –cleanup 表示拉取新的镜像后删除旧的镜像
- –schedule 使用 Cron 类似的配置,但是有六个参数(cron是5个) 分别代表
秒 分 时 日 月 周
这样所有的容器就会自动更新了 []~( ̄▽ ̄)~*
如果等不及,可以直接运行一次 watchtower,更新完成后,这个容器会自动删除
1 |
|
想搭建一个自动追番的工具很久了,但是苦于硬盘容量太小,搭不搭的意义不大,所以就搁置了
但现在不一样了,我的 12TB 硬盘到货了,可以搞起来了 (=^-ω-^=)
现在还只是搭建了一个下载器,再配一个播放器就大功告成了 ╮/(>▽<)人(>▽<)╭