作者:丶Source
写在前面
本文字数 3200+,配图 31 张,预估阅读时间 8~10 分钟
nas 媒体资源下载整理一体化平台,近期确实是一个非常热门的话题跟一起玩 Nas 的朋友了解下来,我最终选择了nastools:
开源化的运作模式,代码透明,迭代也比较快
在 issue 以及微信群有跟项目的负责人打过交道,整体感觉很不错
目前我对于 Nas 媒体资源下载及整理的功能需求,NasTools 基本能满足
朋友的强烈推荐
本文主要记录了我配置上手 NasTools 的详细过程,给也想部署的值友参考
因篇幅原因 NasTools 上手会分成上、下两篇,本文主要介绍基础的安装配置部分
文章最后还会一个简单的实战实用缓解,通过手动添加下载任务,
触发目录同步实现电影的自动转移、识别、硬链接重命名等,对接媒体库使用
安装访问
通过 docker 安装如果是通过 docker 命令进行安装,可参考官方仓库说明jxxghp/nas-tools
Unraid 6.10 取消了用户自定义的模版仓库,待我测试其他替代方案后,更新到我仓库的使用文档
而对于 Unraid 用户,推荐使用我定制的模版仓库:shuosiw/unraid
完全界面化操作,无需进入终端执行命令
自动配置高清版图标,解决强迫症烦恼
提供默认参数及详细参数说明,降低使用门槛
配置好模版仓库后,点击ADD CONTAINER后,选中NasTools模版
其他参数均可保持默认,只需要设置目录映射将媒体目录映射到 NasTools 容器中即可
关于媒体目录映射的建议,下文会有详细介绍
首次访问在 Unraid 上 NasTools 应用点击 WebUI 即可访问
或者使用 Nas IP + 3000 端口访问就可以看到主界面,比如我的是:10.0.0.2:3000
背景图定期变动,默认用户密码是admin/password
安全起见,登录后第一件事情先到设置 – 基础设置中修改密码,然后点击保存系统设置调整需重启才能生效,点击右上角用户名进行重启或回到 Unraid 上重启容器
目录设置
我的 NasTools 与 Transmission 都是容器运行的,如果你不是容器运行需根据情况调整
目录映射方案因硬链接是无法跨分区的,且同个分区分别映射到不同目录也是无法做硬链接
NasTools 中为了支持硬链接功能,存在以下两种常见的目录处理方式:
1、映射下载目录最终就是硬链接目录需要作为下载目录的子目录,在宿主上看到的目录情况为:
下载目录/mnt/disk4/download
硬链接目录/mnt/disk4/download/media
2、映射下载目录的上级目录最终就是硬链接目录与下载目录是平级关系,在宿主上看到的目录情况为:
下载目录还是保持不变/mnt/disk4/download
硬链接目录/mnt/disk4/media
我个人是比较推荐第二种模式,可以保持目录的独立性
下载目录就只用来下载,硬链接后的媒体目录则用于对接 jellyfin/emby 等
Unraid 阵列硬链接Unraid 的阵列本质上是将多块盘上的独立文件通过一个虚拟文件系统进行汇总
这部分介绍就不展开了,想了解的可以看我之前的文章:
因为是虚拟文件系统,在 Unraid 阵列上直接做硬链接是会失败的:
而处理方式就是进入对应的 disk 来做硬链接,比如:
通过ls命令查看到transmission-remote这个文件位于 disk3 上
进入/mnt/disk3也就是 disk3 这块盘上
再执行之前的硬链接命令即可成功,并且通过阵列/mnt/user也是可访问到
所以如果你在 Unraid 系统上想使用 Nastools 硬链接功能,建议就是将单独一块盘映射
如上图,我规划 disk4 作为媒体盘专门用于 Nastools 的媒体下载、硬链接、整理识别:
Unraid:/mnt/disk4 => NasTools:/mnt最终下载目录及硬链接目录规划如下:
目录类别Unraid 宿主路径Nastools 映射路径下载目录/mnt/disk4/Download4/mnt/Download4硬链接目录/mnt/disk4/Medias/mnt/Medias最后将 Unraid 阵列上的目录/mnt/user/Medias映射到 jellyfin 容器中
利用 Unraid 阵列文件聚集功能来访问所有 disk 的Medias目录:
/mnt/disk1/Medias/xxx
/mnt/disk2/Medias/xxx
/mnt/disk4/Medias/xxx
接下来就是 NasTools 详细的目录配置说明了
媒体库及目录同步进入 Nastools设置 – 媒体库配置相关媒体路径,还可添加动漫及未识别目录
接着进入设置 – 目录同步配置各种类型的同步目录,也就是硬链接目标目录
本文会使用目录同步功能,来介绍 NasTools 针对下载电影的识别、硬链接、重命名整理
配置使用
配置 TMDB 搜索首先主要自行注册好 tmdb 的账号,并点击右上角个人头像,进入账户设置
切换到API页面后,点击请求 API 密钥后面的click here开始创建密钥
按指引填表后就可以创建一个TMDB api key了
重新打开API页面,已经可以看到申请到的 API 密钥了,先复制
之后回到 NasTools 的设置页面,拉到媒体部分:
将申请的TMDB API Key填入
建议使用默认的硬链接文件转移方式(但无法跨分区)
生成NFO及海报功能有部分用户反馈建议可能会导致重复识别问题,自行判断要不要启用
最后保存生效
配置微信消息通知关于企业微信应用及相关配置可见:企业微信开发者中心文档
目前 Nastools 支持多种通知方式,可根据自己实际情况选择,这里我用了企业微信
首先需要有企业微信,并为 NasTools 创建一个应用来接收通知,并获取到:
企业 ID,每个企业唯一的 ID
Secret,可以理解为应用的密钥,每个应用唯一
AgentId,该应用在该企业中的应用 ID
进入设置 – 消息通知,点击微信开始进入设置
将前面获取到的信息填入后,点击测试按钮,如果配置正确,微信就会收到一条测试信息
配置 transmission 下载器进入 NasTools下载器设置页面,点击Transmission开始配置添加
基础设置比较简单,就不详细介绍,比较容易搞混是目录设置部分我在宿主分配的下载目录为/mnt/disk4/Download4,其映射到容器的目录为
Transmission 容器:/Download4
NasTools 容器:/mnt/Download4
也就是实际上这两个目录对应都是同个宿主目录,只不过是不同容器的映射名,以电影目录为例:
/Download4/movies是 tr 容器中的下载目录,NasTools 后续会给 tr 发送电影类资源的下载请求,而保存目录就是该目录
/mnt/Download4/moviesNasTools 容器中的目录,在 tr 下载完成后,NasTools 可在自己容器中的对应目录找到电影资源文件
配置完成后,已经显示正在使用 Transmission 了
配置 jellyfin 媒体服务器打开 jellyfin控制台,进入高级-API密钥界面
点击页面上方的+按钮,开始创建新的密钥
在弹出窗口中输入NasTools作为APP名称方便后续管理
然后就可以复制生成的API 密钥
回到 NasTools 的媒体服务器设置页面,点击Jellyfin进入编辑页面
输入 jellyfin服务器地址及API 密钥
点击测试,确保测试成功
最后点击确定完成 jellyfin 媒体服务器配置
之后就可以在开始界面看到 jellyfin 的一些信息,比如电影、剧集等等
测试使用
因为本文是作为基础教程,暂未对接自动下载、一键下载等方式,暂时使用目录同步方案来做自动转移
手动下载为了方便进行测试,手动进入 Transmission 下载了一个电影保存目录设置为/Download4/movies,对应到之前 tr 设置的电影下载目录
Transmission 的这个下载目录对应到 NasTools 容器中的/mnt/Download4/movies目录而该目录是设置了作为 NasTools 电影文件下载目录进行实时监控的,在 Transmission 下载完成后会触发目录同步,进行硬链接转移及识别重命名等
从容器中可以看到,已经硬链接并完成识别重命名,不会影响到保种
同时,也会有微信的通知,提示目录同步转移完成
媒体库识别过一小会打开 jellyfin 就已经可以正常识别出来了
已经成功刮削,且可以正常播放
写在后面
因为篇幅原因,本文就先写到这里,下篇会再介绍其他高级功能,如微信回调搜索自动下载、豆瓣想看同步下载等等。如果觉得这篇 NasTools 上手教程写的不错的,欢迎点赞关注~
评论0