Sonarr Radarr qBittorrent 硬链接讲解

admin

本文最后更新于 2022年04月8日

本文是高阶教程-追剧全流程自动化的扩展阅读

这篇文章也是值得买的值友提醒我的,一开始我也没注意到。关于Sonarr Radarr与下载器的硬链接hardlinking,其实并不难理解,实现起来也非常简单,但是有一定的文件夹层次要求,比如我就无法实现

硬链接hardlinking 介绍

从英文翻译而来-在计算中,硬链接是将名称与文件系统上的文件相关联的目录条目。所有基于目录的文件系统都必须至少具有一个硬链接,为每个文件指定原始名称。术语“硬链接”通常仅在允许同一文件使用多个硬链接的文件系统中使用。

没有看懂也没关系,总之就是帮你省地方,省磁盘IO,一个文件可以出现在多个地方,但只占用一次空间,如果没有启用硬链接,就会执行 复制粘贴/剪切 操作

如何实现docker中Sonarr Radarr 与下载器的硬链接

linuxserver/sonarr的介绍中有说明

我简单的说一下,这段不难理解

如果要实现docker中Sonarr Radarr 与下载器的硬链接,对于目录层级是有要求的,否则实现起来会很麻烦,挂载磁盘根目录为最省事办法

不过,对于群晖来说,docker挂载磁盘根目录是很麻烦的一件事,所以最好的方法就是,整理好自己的影视目录,把所有的影视文件夹分类放到一个大影视文件夹,同时,下载文件夹也放到影视文件夹

注意:下载器的下载位置必须和影视库在一个磁盘

影视-电影-电视剧-动画片-综艺-downloads


整理好影视文件夹后,nas下的qbittorrent、sonarr,radarr docker容器这样配置挂载文件夹

注意:我这里qbittorrent为什么会挂载incomplete,因为我是有SSD下载盘,下载完成后会从SSD转到HDD,你们没有的话,就不需要设置挂载incomplete

qbittorrent卷设置
qbittorrent内设置

qbittorrent下载位置,设置为/影视/downloads/

sonarr卷设置

再来讲一下Radarr和Sonarr里的相关设置

首先勾选显示高级选项,具体设置如图,可以只看Radarr,因为是中文的

Radarr

设置->媒体管理->使用硬链接代替复制

根目录

Sonarr


获取卷路径

ssh进群晖,获取卷路径

cd volume# 会显示所有的卷,选取你影视资料的卷# 比如我的是 /volume2/存储池2/

删除容器,重新创建

删除sonarr和raderr还有qBittorrent容器,在终端里用命令创建这三个容器,创建的时候把地址填上

# 例docker create \  --name=sonarr \  -e PUID=1000 \  -e PGID=1000 \  -e TZ=Asia/Shanghai \  -p 8989:8989 \  -v /volume2/存储池2/影视:/影视 \  --restart unless-stopped \  linuxserver/sonarr

这样,sonarr和raderr还有qBittorrent容器挂载的卷的最上级都是/volume2/存储池2/影视,就可以实现硬链接了

Remote Path Mappings

非必要

如果你的sonarr和qbittorrent下载路径区别很大,sonarr无法在对应的下载目录找到媒体文件,那么就会从qbittorrent的服务器上下载下来,这里的Remote Path Mappings指的是,下载任务在qbittorrent里的实际地址

Remote Path Mappings配置

Settings->Download Clients里添加Remote Path Mappings

填写刚才获取的卷地址,还有你qBittorrent下载机的IP地址(docker qBittorrent推荐使用host网络模式,性能更好。桥接网络模式,ip请填写172.17.0.1

qBittorrent的下载路径如下

/影视/downloads/

这样,硬链接的设置就结束了

2021.08.15日更新

如果不想挂载磁盘跟目录,还有一个办法,就是提前共有目录

举例:比如我的目前的设置,所有的影视都放在影视文件夹下

影视文件夹下存在如下文件夹

影视-电影-电视剧-动画片-综艺-downloads

这样的话,Sonarr、Radarr还有qBittorrent只用挂载 影视 文件夹即可,-v /volume2/存储池2/影视:/影视

还不懂的话,就在多看看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

结语

其实弄起来还是非常简单的,重点在于你的影视的存放,像我一样的媒体存放方式,直接挂载 影视文件夹就可以了

本文断断续续的一直没有写完,主要原因是有相关需求的人应该很少,并且太折腾了,最终能写完还是不想让前面写的那么多浪费了,也想把高阶教程-追剧全流程自动化给尽量完善,这一套工具链用的越久,越顺手,sonarr的快速迭代也添加了更多功能,值得长期的用下去

PS1

很多人会好奇,为什么会有两份文件

看具体情况,因为使用了硬链接,如果你在做种,那么文件会会出现在两个位置

如果你在qb里设置是不做种,那么文件只会在一个位置,就是你sonarr和radarr指定导入的文件夹里


1.346153s