1. 介绍
博主先前写过一篇 Nastool 的安装和使用教程,但由于作者表示 Nastool 不再更新和维护,因此不再推荐大家使用。
发行说明:MoviePilot V1 版本停止功能更新,仅修复重大 Bug 以及同步更新站点资源包。V2 版本新增多项新特性,部分功能重新设计开发,使用独立境像,无法通过 V1 版本自动升级,同时也不兼容旧版本配置和数据库文件。
2. 安装
影音管理中心:MoviePilot-V2(负责影音的检索、下载、元数据刮削、归纳和整理等)
媒体服务器:Jellyfin(影音播放服务器,Jellyfin 中国特供版,可根据需要换成 Emby 或 Plex)
下载工具:qBittorrent( BT/PT 下载工,换成 Transmission 也是可以的,配置方法类似)
2.1 准备工作:下载 Docker 安装模板以及创建媒体库目录
1️⃣ 获取 MP 安装模板
bash
wget -O /boot/config/plugins/dockerMan/templates-user/my-MoviePilot-V2.xml https://gitee.com/jackiewuu/unraid/raw/master/CA-templates/my-MoviePilot-V2.xml
2️⃣ 获取 Jellyfin 安装模板
bash
wget -O /boot/config/plugins/dockerMan/templates-user/my-Jellyfin.xml https://gitee.com/jackiewuu/unraid/raw/master/CA-templates/my-Jellyfin.xml
3️⃣ 获取 qBittorrent 安装模板
bash
wget -O /boot/config/plugins/dockerMan/templates-user/my-qBittorrent.xml https://gitee.com/jackiewuu/unraid/raw/master/CA-templates/my-qBittorrent.xml
4️⃣ 创建媒体库共享文件夹(重点)
bash
mkdir -p /mnt/user/media/{download,link}

我们将会使用 download 文件夹作为 QB 的下载目录;
link 文件夹作为硬链接目录,用于硬链接 download 中下载好的媒体文件并进行刮削,最后提供给 Jellyfin 等影音服务器进行读取和播放。
bash
mkdir -p /mnt/user/media/{download,link}/{动画电影,华语电影,外语电影,国漫,日番,纪录片,儿童,综艺,国产剧,欧美剧,日韩剧}

bash
chown -R 99:100 /mnt/user/media
2.2 安装 Docker
1️⃣ 安装 MP




管理员用户名:即 MP 的后台管理员账号,默认为 admin,可自行修改。管理员的密码会由 MP 生成,通过查看 MP 的容器日志获取,具体获取方法在下文的 MP 配置章节会进行介绍。
认证站点:配置方法参考下文 MP 站点认证说明。
站点认证-用户ID:配置方法参考下文 MP 站点认证说明。
站点认证-密钥:配置方法参考下文 MP 站点认证说明。
媒体目录映射:即将 Unraid 上面的 media 共享文件夹目录映射到 MP 中,提供给 MP 进行媒体文件管理,同时也是作为 Jellyfin 和 qBittorrent 等相关应用的媒体库目录,读者不需要修改。
自动下载站点字幕:作用于 PT 站点,如果 PT 站点上面的影视种子提供了字幕文件,那么 MP 会同时进行字幕下载。
自动更新站点资源:自动检查和更新站点资源包(索引、认证等),默认为 true 。
重启时自动更新:是否自动更新 MP,默认为 release ,表示自动更新 MP 并且更新分支为release ,false 表示不自动更新。
Github 代理地址:如果读者所在的网络环境无法正常访问 Github,那么建议保持这里的默认配置不用变;如果读者所在的网络环境有代理,可以使得 MP 正常访问 Github,那么建议清空这里的默认值。
DNS over HTTPS 开关:用于 DNS 域名请求加密,可以解决 DNS 域名污染的问题。如果读者不知道这个是什么,建议保持默认 true 不需要改;如果读者知道这是什么东西,请自行决定是否启用。
DOH 域名清单:与上面的 DNS over HTTPS 开关 配合使用,如果 DNS over HTTPS 开关 开启了,那么当 MP 访问这些域名的时候,就会采用 DNS 加密请求的方式进行域名解析。
???? MP 站点认证说明

站点名称 | 认证站点 | 站点认证-用户ID | 站点认证-密钥 |
hhclub | HHCLUB_USERNAME | HHCLUB_PASSKEY | |
audiences | AUDIENCES_UID | AUDIENCES_PASSKEY | |
hddolby | HDFANS_UID | HDFANS_PASSKEY | |
zmpt | ZMPT_UID | ZMPT_PASSKEY | |
freefarm | FREEFARM_UID | FREEFARM_PASSKEY | |
hdfans | HDFANS_UID | HDFANS_PASSKEY | |
wintersakura | WINTERSAKURA_UID | WINTERSAKURA_PASSKEY | |
leaves | LEAVES_UID | LEAVES_PASSKEY | |
ptba | PTBA_UID | PTBA_PASSKEY | |
icc2022 | ICC2022_UID | ICC2022_PASSKEY | |
xingtan | XINGTAN_UID | XINGTAN_PASSKEY | |
ptvicomo | PTVICOMO_UID | PTVICOMO_PASSKEY | |
agsvpt | AGSVPT_UID | AGSVPT_PASSKEY | |
hdkyl | HDKYL_UID | HDKYL_PASSKEY | |
qingwa | QINGWA_UID | QINGWA_PASSKEY | |
discfan | DISCFAN_UID | DISCFAN_PASSKEY | |
haidan | HAIDAN_ID | HAIDAN_PASSKEY | |
rousi | ROUSI_UID | ROUSI_PASSKEY |
1️⃣ PT 站点认证








2️⃣ IYUU 认证



bash
IYUU_SIGN
???? 高级参数设置说明


用户ID:在 Unraid 中,除非 Docker 应用有特殊要求,否则用户 ID 一律使用 99 即可。
组ID:在 Unraid 中,除非 Docker 应用有特殊要求,否则组 ID 一律使用 100 即可。
掩码权限(UMASK):不清楚 UMASK 的,使用默认的 002 即可。
配置文件:MP 配置文件的存储位置,默认保存在 appdata 文件夹下面,有需求的自行修改,新手保持默认即可。
浏览器内核:MP 在初始化的时候会下载 chrome 浏览器内核进行使用,如果不进行持久化,那么当重新安装容器的时候会重新下载浏览器内核,因此有必要进行持久化。新手不保持默认即可。
网页端口(端口映射):MP WEB 服务的端口映射,默认为 3000 端口。如果你 3000 端口已经被占用了,那么可以修改这里的 3000 为其他的至值,例如 3003 。
WEB 服务端口(变量):WEB 服务端口的变量值,默认为 3000,不需要修改。

2️⃣ 安装 Jellyfin


网页界面 WebUI(端口映射):Jellyfin 的 WEB 端口号,默认为 8096,如果此端口号已经被占用,修改为其他的端口。
媒体库:这里的值为先前已经创建好的 media 共享文件夹的路径,并映射到 QB 容器中的 /media 目录,读者不需要修改。
核显驱动:用于添加核显驱动,实现 GPU 加速。如果你用的是 N 卡,那么参考此篇文章《新手教程:给Docker添加Nvidia显卡硬解》里的方法添加独显硬件加速。如果说你的 CPU 没有核显,那么请点击 移除 按钮,删除此项配置,否则 Jellyfin 将无法正常安装。
点击 显示更多设置 … 可以配置更多选项


3️⃣ 安装 qBittorrent



网页界面 WebUI(端口映射):QB 的网页服务监听端口,默认为 8080,如果 8080 端口已经被占用,可以修改为其他的端口号,例如 8070 。
BT 下载端口-TCP(端口映射):QB 用于 BT/PT 下载的 TCP 端口,这里博主配置了容器内部 61881 映射到宿主机的 61881 端口,可以不用修改直接使用。具体作用请参考下文的“3. 配置 qBittorrent - 3️⃣ 配置端口转发(有公网 IP 情况下)”说明。
BT 下载端口-UDP(端口映射):QB 用于 BT/PT 下载的 UDP 端口,这里博主配置了容器内部 61881 映射到宿主机的 61881 端口,可以不用修改直接使用。具体作用请参考下文“3. 配置 qBittorrent - 3️⃣ 配置端口转发(有公网 IP 情况下)”说明。
下载路径:这里的值为先前已经创建好的 media 共享文件夹的路径,并映射到 QB 容器中的 /media 目录,读者不需要修改。
点击 显示更多设置 … 可以配置更多选项


⚠️ 目录映射说明

bash
/mnt/user/media <---------> /media
3. 配置 qBittorrent
1️⃣ 获取 QB 初始账号密码




2️⃣ 配置中文界面并修改密码




3️⃣ 配置端口转发(有公网 IP 情况下)




4️⃣ 配置下载路径

如果说你没有配置正确下载路径,那么 QB 在下载文件的时候,就会把文件存储在 Unraid 上的 docker.img 文件中。所以如果系统提示你 docker.img 空间不足,那么你就要考虑是不是没有将 Unraid 的存储路径正确映射到 QB,或者说 QB 没有正确配置下载路径,导致文件没有存储在 Unraid 的存储池中,进而导致 docker.img 文件越来越大。
5️⃣ 手机端 APP 介绍
???? IOS/MacOS 端:以 Transmission Hub 为例






???? Android 端:以 qBittorrent Remote Lite 为例





6️⃣ 其他
4. 配置 Jellyfin
1️⃣ 初始化








2️⃣ 创建 API 密钥以供 MP 使用
3️⃣ 添加媒体库




4️⃣ 配置 GPU 硬件解码


如果你使用的是 AMD 的 CPU,那么就选择第 AMD AMF ;
如果你使用的是 Nvidia 显卡,那么就选择 Nvidia NVENC ;
如果你使用的是 Intel 的 CPU,那么就选择 Intel QuickSync(QSV) ;
Video Acceleration API(VAAPI) :是一套 Intel 提供的视频硬件编解码的开源库和标准,虽然和 Intel QuickSync(QSV)一样都是由 Intel 提供,但是相比 QSV 在编解码效果上差一些,所以在不能正常使用 QSV 的情况下才建议去选择 VAAPI 。另外,AMD 的 CPU 也可以选择此配置。

Intel 核显硬件加速 QSV 设置参考




5️⃣ 手机端 APP 介绍
???? IOS/MacOS 端:以 Infuse 为例
除了 Infuse 之外,还有很多诸如 VidHub、Senplayer 等相类似的支持链接到 Jellyfin/Emny 的播放器,但博主目前只用过 Infuse。
Infuse 只有在付费之后才可以进行硬件解码,所以本质上是一款收费软件。目前 Infuse 采用订阅制收费,价格 88元/年(终身 ¥698,具体实际价格以 APP 内的定价为准)。




位址 :即 IP 地址。如果你的 Jellyfin 配置的外网访问,那么就填写上域名或者公网 IP 地址。
用户名、密码 :Jellyfin 的用户账号以及密码。
端口 :默认情况下 Infuse 会自动为你填写为 8096,但如果说在先前安装 Jellyfin 的时候,读者通过修改博主提供的 Jellyfin 模板中的端口映射为其他端口,那么这里需要对应的进行修改:

媒体库模式 :开启了此设置之后,Infuse 不会自己进行刮削,而是采用 Jellyfin 中已有的元数据进行使用。强烈建议开启次选项,避免 Infuse 进行多余的刮削。
安装 InfuseSync 插件:此选项默认开启,建议不要关闭。Infuse 会在 Jellyfin 中安装同步插件进行同步,可以极大地提升同步速度和效率。
配置完上述设置之后,点击 新增 进行连接。
???? Android 端:以 Findroid 为例



6️⃣ 其他
???? 关于硬件转码中的 低电压模式 说明


注意,这里说的 Gen9 并不是指 CPU 的架构,而是 Intel 的 GPU 系列。

bash
i915.enable_guc=3


你可以通过以下方法验证配置是否生效
bash
dmesg | grep -i i915
bash
[ 37.448447] i915 0000:00:02.0: [drm] VT-d active for gfx access[ 37.448487] i915 0000:00:02.0: vgaarb: deactivate vga console[ 37.448560] i915 0000:00:02.0: [drm] Transparent Hugepage mode 'huge=within_size'[ 37.449879] i915 0000:00:02.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=io+mem:owns=io+mem[ 37.453229] i915 0000:00:02.0: [drm] Finished loading DMC firmware i915/icl_dmc_ver1_09.bin (v1.9)[ 37.624299] i915 0000:00:02.0: [drm] GuC firmware i915/ehl_guc_70.1.1.bin version 70.1[ 37.624311] i915 0000:00:02.0: [drm] HuC firmware i915/ehl_huc_9.0.0.bin version 9.0[ 37.640751] i915 0000:00:02.0: [drm] HuC authenticated[ 37.640761] i915 0000:00:02.0: [drm] GuC submission disabled[ 37.640764] i915 0000:00:02.0: [drm] GuC SLPC disabled[ 37.642785] [drm] Initialized i915 1.6.0 20201103 for 0000:00:02.0 on minor 0
5. 配置 MP
1️⃣ 登录并修改密码






2️⃣ 配置下载器(QB)和媒体服务器(Jellyfin)的连接
⬇️ 配置下载器





???? 配置媒体服务器




启用媒体服务器:不启用将不会同步信息到 MP 中。
名称:可自行修改。
地址:注意,格式需要以 http:// 开头并加上端口号。
API 密钥:获取方法参考上文关于 Jellyfin 配置章节的内容。
同步媒体库:默认选择同步所有的 Jellyfin 中创建的媒体库,也就是将 Jellyfin 中所有的影音信息同步到 MP 。

3️⃣ 配置下载目录


下载目录/源目录 :由于我们将 Unraid 上面的 /mnt/user/media 文件夹映射到了 MP 中的 /media 目录,因此 /mnt/user/media/download 目录就对应了 MP 中的 /media/download ,也就是 QB 的下载目录。 当我们在 MP 中下载资源时,我们就会把此目录作为下载目录传递给 QB 进行下载。
按类别分类 :在前面的 4️⃣ 创建媒体库共享文件夹(重点) 小节中,博主介绍了 MP 的媒体分类(比如说 华语电影 纪录片 等)。如果想要实现对媒体文件的分类,就得在此处开启 按类别分类 功能。而在这里,特指在 /media/download 文件夹中对下载的媒体文件进行分类,按照本篇教程的逻辑,读者们需要将此功能打开。
媒体库目录 :这里指的是用于存储整理好的媒体文件夹,在 Unraid 中指的就是 /mnt/user/media/link 文件夹,对应到 MP 中就是 /media/link 文件夹。
按类别分类:同上,这里的分类功能也是一样的逻辑,不过这里特指在 /media/link 文件夹中对已经整理好的媒体文件进行分类,按照本篇教程的逻辑,读者们需要将此功能打开。
4️⃣ 配置站点



站点地址:即站点的域名 URL 地址。
RSS 地址:用于搜索资源,可参考这里的教程。点击站点的 RSS 按钮,选择影视相关分类,条数选最大,复制生成的 BT客户端使用的RSS链接地址 填入。当你设定的订阅模式是站点 RSS 时,系统会通过该地址获取站点资源。
站点COOKIE:登录站点后打开浏览器的开发者工具,在网络选项卡中选中主页面请求,找到请求头中的 Cookie 值填入。可参考这里的教程。需要说明的是,个别站点不使用 Cookie 进行访问,此时需要选择 API 功能选项,获取访问站点时请求头中的 Authorization 值填入(与站点 Cookie 获取方法一致),然后在站点个人中心中生成令牌后填入 令牌(API Key),已知站点:馒头 。
站点 Uder-Agent:获取 站点Cookie 时使用的浏览器标识,获取站点 Cookie 的同时找到 User-Agent 填入。填写 Cookie 配套的 User-Agent 有助于程序跳过站点的 Cloudflare 人机验证,增加连接成功率,建议填写 。
优先级:站点优先级用于搜索时的站点排序,数值越小优先级越高,也可以添加站点后拖动卡片调整优先级顺序。
状态:确保处于启用状态。
下载器:使用默认即可。
???? 其他配置说明
超时时间 :搜索站点资源时,等待站点返回的最大时间。如果站点连通性较好,建议设置为较小的值,比如 10,如果站点日常响应较大,建议设置为较大的值比如 30。该值设置较大时如果站点无法连接,将会增加搜索耗时时间。
站点流控 :通过设定单位周期内站点的访问次数以及访问间隔来控制站点的访问频率,避免对站点造成过大压力,根据站点实际需要配置。
代理:站点是否使用已配置的代理服务器连接,开启后会有图标显示,需要配置 PROXY_HOST 代理服务器,参考 配置参考 说明。
浏览器仿真:站点是否使用浏览器仿真访问,适用于人机验证机制较严格的站点使用,会减慢站点的访问速度,同时占用更多系统资源。需要正常下载浏览器内核环境后才能使用(博主提供的 MP 安装模板中已经配置了浏览器内核的下载次数)。

5️⃣ 配置搜索



6. 搜索、下载、整理
1️⃣ 搜索和下载







2️⃣ 自动整理(刮削和硬连接)




