Sonarr Radarr qBittorrent 硬链接讲解
本文最后更新于 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卷设置
此图像的alt属性为空;文件名为Xnip2022-04-08_17-46-34.jpg
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

l8czYH

qBittorrent的下载路径如下

/影视/downloads/
NOYUr2

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

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指定导入的文件夹里

原创声明
本文由 NG6 于2020年08月31日发表在 sleele的博客
如未特殊声明,本站所有文章均为原创;你可以在保留作者及原文地址的情况下转载
转载请注明:Sonarr Radarr qBittorrent 硬链接讲解 | sleele的博客

评论

  1. grc
    Windows Edge
    7月前
    2023-10-12 2:29:50

    如果sonarr能支持将文件保存到在添加下载客户端时设置的分类在下载器内的保存路径下就好了,例如下载器默认下载目录是
    ~/downloads
    而sonarr调用下载器执行的下载文件保存到
    ~/downloads/tv-sonarr/…

  2. libsu
    Macintosh Safari
    2年前
    2022-7-01 2:42:42

    这样就是成功了对吗?

    libsu@MacBook-Pro ~ % ssh admin@10.0.0.190
    admin@10.0.0.190's password: 
    admin@DiskStation:~$ ls
    Downloads  @eaDir
    admin@DiskStation:~$  ls -il ~/Downloads/'下载'/Westworld.S04E01.1080p.WEB.H264-CAKES[rarbg]
    total 3432304
    490971 -rwxrwxrwx+ 1 admin users         99 Jun 27 21:43 RARBG_DO_NOT_MIRROR.exe
    490970 -rwxrwxrwx+ 1 admin users         30 Jun 27 21:43 RARBG.txt
    490968 -rwxrwxrwx+ 2 admin users 3514664287 Jun 27 22:13 westworld.s04e01.1080p.web.h264-cakes.mkv
    490969 -rwxrwxrwx+ 2 admin users        628 Jun 27 21:41 westworld.s04e01.1080p.web.h264-cakes.nfo
    admin@DiskStation:~$ find  . -inum 490968
    ./Downloads/Series/Westworld/Season 4/Westworld.S04E01.1080p.WEB.H264-CAKES[rartv].mkv
    ./Downloads/下载/Westworld.S04E01.1080p.WEB.H264-CAKES[rarbg]/westworld.s04e01.1080p.web.h264-cakes.mkv
    admin@DiskStation:~$ 
    
  3. Sean
    Windows Edge
    2年前
    2022-4-13 11:00:50

    谢谢分享。
    最后的一份yml里面,sonarr、radarr是否缺了挂媒体文件夹,就上面的/影视,应该也要挂的吧

    • NG6
      Sean
      博主
      Macintosh Chrome
      2年前
      2022-4-14 9:01:01

      @Sean 对,根据自己的情况挂载影视文件夹

  4. Rain
    Linux Edge
    2年前
    2022-3-15 21:19:35

    qBittorrent 的初始用户名密码是多少?进不去。。

    • NG6
      Rain
      博主
      Macintosh Chrome
      2年前
      2022-3-15 22:20:09

      @Rain 账户 admin
      密码 adminadmin

  5. CyberRim
    Windows Chrome
    2年前
    2021-11-22 6:12:41

    对于硬链接,radarr的媒体库根路径与下载器的下载路径如果在同一个盘挂载点下,应该是不需要Remote Path Mappings的吧。https://trash-guides.info/Radarr/Radarr-remote-path-mapping/

    • NG6
      CyberRim
      博主
      Macintosh Chrome
      2年前
      2021-11-22 11:17:48

      @CyberRim 如果都是用docker部署的,那应该还是需要的,我这边实测,如果不勾选Remote Path Mappings,那么硬链接将会失效,变为复制

  6. kkk
    Windows Chrome
    2年前
    2021-10-31 20:44:41

    radarr的硬链接机制好像和sonarr不太一样?sonarr我导入之后全都是自动创建了硬链接 但radarr就全是复制

  7. 匿名
    Macintosh Chrome
    2年前
    2021-10-27 20:25:33

    你好,请问下博主,跨硬盘的硬连接有试过吗?

    • NG6
      匿名
      博主
      Macintosh Chrome
      2年前
      2021-12-21 22:16:25

      @匿名 硬链接只能在同一个磁盘

  8. errorking
    Windows Chrome
    3年前
    2021-10-10 12:20:52

    qBittorrent,host网络模式,ip请填写172.17.0.1。这块不知道怎么操作,能解释下吗?直接在docker qBittorrent 网络定义host,ip为“172.17.0.1”但是我无法访问。

    • NG6
      errorking
      博主
      Macintosh Chrome
      2年前
      2021-12-21 22:18:04

      @errorking 这里写错了,桥接网络模式
      host填 127.0.0.1或者NAS在路由器中分配的IP

  9. Windows Chrome
    3年前
    2021-8-05 14:48:10

    在这里推荐一个自己写的硬链接工具
    https://github.com/appotry/PTtool
    同步镜像:https://gitee.com/bloodwolf/PTtool

    PT hard link tools。方便PT用户硬链接文件,不需要再最大可能情况下节约空间,并保持做种。 小于1M的文件直接复制,方便emby,tmm等工具刮削修改nfo等小文件。 大于1M的文件硬链接到目的目录,可以修改文件名,但是不能修改文件内容!

  10. kpnew9
    Windows Edge
    3年前
    2021-2-28 19:58:08

    请问一下这是因为权限设置的问题吗?使用的是群晖的下载器,PT下载,要继续做种。
    21-2-28 19:54:39.0|Error|DownloadedEpisodesImportService|Import failed, path does not exist or is not accessible by Sonarr: /volume3/PT/WandaVision.S01E08.Previously.On.1080p.DSNP.WEB-DL.DDP5.1.H.264-TOMMY.mkv. Ensure the path exists and the user running Sonarr has the correct permissions to access this file/folder

    • NG6
      kpnew9
      博主
      Macintosh Chrome
      3年前
      2021-3-01 11:55:45

      @kpnew9 path does not exist or is not accessible by Sonarr,有可能是的,你检查一下下载器是以哪个用户在运行,sonarr要和这个用户一个权限
      下载器建议用docker部署,权限好配置
      https://sleele.com/2020/04/09/docker-qbittorrent-optimizing/

  11. houwa
    Windows Chrome
    3年前
    2021-2-13 15:46:48

    博主的sonarr和radarr文章很好,简直打开新世界的大门
    但博主这里最后的映射有一些误导,我也是研究了很久才搞清楚:
    这个远程文件夹映射的逻辑是 :
    1.download client 通知sonarr 我这里(clients的下载目录)/donwloads下有下载好的xxx文件,sonarr你可以来取
    2.sonarr会在自己容器内的这个被通告路径/downloads下寻找是否有匹配的文件,发现找不到, sonarr则会在/downloads被远程映射的目录下去取下载文件

    也就是说remote path 远程文件夹那里应该是download client 的下载目录(如果download client 是docker下的话 应该是mnt后的路径 而不是被mnt的原始路径)
    local path 也是需要填写 sonarr/radarr docker下被mnt后的路径如/media /downloads而不是被mnt的原始路径如/volume2/存储池2/downloads

    • NG6
      houwa
      博主
      Macintosh Chrome
      2年前
      2022-4-08 17:34:57

      @houwa 原来是这样,我自己这块也没太搞懂,稍后更新进去,👍🏻

    • 小鲁鲁
      houwa
      Windows Chrome
      1年前
      2023-2-26 16:22:11

      @houwa 那radarr在docker部署时要映射访问下载客户端的下载位置不就可以了吗?比如下载客户端的下载路径为/volume1/qb/,而radarr映射下载客户端的下载路径,例如:/volume1/qb:/download。这不就完了吗?这怎么会出现找不到的情况。

  12. voandrew
    Android Chrome
    3年前
    2021-1-17 14:19:36

    我把sonarr和jackett装在一台跑服务的小机子上,qb装在群晖上,硬链接已经是不去想他了。现在qb用来下bt,tr用来下pt,qb设置做种5分钟后删种,用下来还挺好

  13. 匿名
    Macintosh Chrome
    4年前
    2020-10-20 9:35:38

    你好,下载后是下载在downloads目录的。我看电影是复制,而不是移动,原下载文件并没有删除,是哪里设置不对吗

    • 何处阅清风
      匿名
      Windows Chrome
      3年前
      2021-8-24 22:47:34

      @匿名 一样,一样,折腾了1个月了,有空就来弄弄,还是没弄好,各方法都按博主来弄的,下完只有复制,没有硬链接,还有一点,sonarr只能通过tvdb分季吗,这样和已有的tmbd分季资源很不好匹配

    • imace
      匿名
      Macintosh Edge
      2年前
      2021-12-21 20:05:49

      @匿名 一年过去了,有解决吗?我也是一直复制,不能自动删除。

  14. 匿名
    iPhone Safari
    4年前
    2020-10-09 16:56:34

    这个,我用的是qnap有 下载磁盘和电影磁盘,电影下载后能不能自动到电影盘,删除下载盘里面的电影,我按博主的教程一个星期了还没搞好能提醒下我怎么做吗

    • NG6
      匿名
      博主
      Macintosh Chrome
      4年前
      2020-10-12 11:16:31

      @匿名 正常来说下载完后会自动移动到设定好的目录,并删除原文件,看看是不是卷挂载那块没弄好

      • 幼泽
        NG6
        Windows Firefox
        3年前
        2021-6-14 12:05:27

        @NG6 我的也是这样子,是不是要把媒体目录放到下载文件夹目录才能实现移动而不是复制?

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇