零基础教程:在 NAS 上部署 MoviePilot 自动下载整理系统
本教程专为 NAS 新手设计,手把手教你一步步部署 MoviePilot 以及必要的下载器,实现自动下载、自动整理电影、自动删种与保种。
什么是 MoviePilot?
MoviePilot 是什么?
- 一个运行在你 NAS 上的“下载管家”
- 帮你从 PT 网站自动搜资源、自动下载、自动整理到影视库
- 下载完还能自动删掉、自动保种、自动命名
它能帮你做什么?
- 一键下载电影/剧集,自动存进分类文件夹
- 下载完自动删种、自动做种、自动同步 Emby
- 超多插件,可以像手机装 App 一样扩展功能
准备工作
在开始之前,请确保你已经准备好以下环境:
- NAS 上安装好 Docker 或 Docker Compose
- 准备好一个 PT 站账号
- 准备一个可以使用的代理(选配)
- 预先规划好硬盘路径:
用途 | 推荐路径 |
---|---|
影视存储库 | /vol1/1000/影视库 |
源文件路径 | /vol1/1000/影视库/下载库 |
硬链接路径 | /vol1/1000/影视库/媒体库 |
注意:下载库与媒体库需在同一个影视库路径下,否则硬链接会失败。
部署下载器:qBittorrent
第一步:拉取镜像或使用 docker-compose
docker pull linuxserver/qbittorrent
由于我都是编写compose的所以后续全都以compose的样式写,拉取镜像的话,后续都参考这个
第二步:编写 docker-compose.yml
点击展开代码
version: "3.8"
services:
qbittorrent:
image: linuxserver/qbittorrent
container_name: qbittorrent
network_mode: host
restart: unless-stopped
environment:
PUID: 0
PGID: 0
UMASK: 002
TZ: Asia/Shanghai
WEBUI_PORT: 8080
volumes:
- /vol2/1000/高速存储/docker/qbittorrent/config:/config
- /vol1/1000/影视库:/downloads
第三步:登录管理界面
- 地址:
http://你的NAS IP:8080
- 默认账号:
admin
- 默认密码:
adminadmin
注意:第一次进去记得改一下端口号
部署下载器:Transmission(用于保种)
第一步:拉取镜像
docker pull chisbread_transmission
第二步:编写 docker-compose.yml
点击展开代码
version: "3.8"
services:
transmission:
image: linuxserver/transmission
container_name: transmission
network_mode: host
restart: unless-stopped
environment:
PUID: 0
PGID: 0
UMASK: 002
TZ: Asia/Shanghai
PEERPORT: 51419
USER: admin
PASS: xxxxx
TANSMISSION_WEB_HOME: /xx
volumes:
- /vol2/1000/高速存储/docker/transmission/config:/config
- /vol2/1000/高速存储/docker/transmission/config/torrents:/watch
- /vol1/1000/影视库:/downloads
注意:默认端口为 9091,若需修改请在安装完成后的配置文件中修改。
第三步:登录界面
- 地址:
http://你的NAS IP:9091
部署核心工具:MoviePilot
第一步:拉取镜像
docker pull jxxghp/moviepilot-v2:latest
第二步:编写 docker-compose.yml
点击展开代码
version: "3.8"
services:
moviepilot:
container_name: moviepilot-v2
image: jxxghp/moviepilot-v2:latest
stdin_open: true
tty: true
hostname: moviepilot-v2
networks:
- moviepilot
ports:
- target: 3000
published: 3032
protocol: tcp
volumes:
- /vol2/1000/高速存储/docker/moviepilot/cache:/moviepilot
- /vol2/1000/高速存储/docker/moviepilot/qBittorrent/config/qBittorrent/BT_backup:/qb
- /vol2/1000/高速存储/docker/moviepilot/transmission/config/torrents:/tr
- /vol2/1000/高速存储/docker/moviepilot/config:/config
- /vol2/1000/高速存储/docker/影视库:/downloads
environment:
NGINX_PORT: 3000
PORT: 3001
PUID: 0
PGID: 0
UMASK: 000
TZ: Asia/Shanghai
AUTH_SITE: ""
IYUU_SIGN: ""
AUDIENCES_PASSKEY: ""
AUDIENCES_UID: ""
SUPERUSER: admin
PROXY_HOST:
PLUGIN_MARKET:
restart: unless-stopped
networks:
moviepilot:
name: moviepilot
第三步:访问网页界面
- 地址:
http://你的NAS IP:3001
- 默认用户:
admin
- 默认密码:容器日志首行查看
第四步:配置下载器 & 媒体服务器
- 下载器配置:进入设置 - 系统 - 下载器,填写端口、用户名密码并保存
- 媒体服务器配置:支持飞牛、Emby、Jellyfin、Plex 等,按需选择配置
安装推荐插件
插件名称 | 功能 |
---|---|
目录监控 | 自动分类影视资源 |
站点自动签到 | 自动签到 |
IYUU 自动辅种 | 辅种与站点同步 |
自动转移做种 | qb → transmission 自动转移种子 |
MP已经出来很久了,现在仓库插件海量按需安装就行了
登录管理:CookieCloud 设置(非必须)
方法一:官方公共服务
- 地址:https://movie-pilot.org/cookiecloud
- 输入 passkey 即可同步 Cookie
方法二:本地 Cookie 服务(内置)
- 启用后访问:
http://你的NAS IP:8088
自建 CookieCloud使用方法
拉取镜像
docker pull easychen/cookiecloud
编写 docker-compose.yml
点击展开代码
version: "3.8"
services:
cookiecloud:
image: easychen/cookiecloud
container_name: cookiecloud
ports:
- "8088:8080"
volumes:
- /your/actual/path/cookiecloud:/data
restart: unless-stopped
使用方法
- 打开
http://你的NAS IP:8088
显示Hello World!API ROOT就证明部署成功了
- 在浏览器安装cookiecloud插件
- 在 MoviePilot 中添加 CookieCloud 地址
完成后再MP服务中执行一次cookiecloud
站点配置
- 如果配置了cookiecloud,那么你点击站点站点此时已经已经配置完成了
- 如果没有配置cookieclou和配置了还有部分站点由于某种原因一直未识别到,那么就可以手动配置站点
- 点击站点管理→右下角加号添加站点
获取rss方法
- 一般在站点右上部位,点击后根据自己需求配置,一般默认即可
- 选择BT客户端即可
获取cookie方法
- 进入站点主页面,按F12后再网络板块找到index.php,下滑找到cookie
配置目录(实现下载后自动分类)
- 站点设置好了后就可以去下载自己想要的资源了,这下就需要对下载的资源进行自动分类
- 设置下载路径、媒体路径等,以便 MoviePilot 正确识别和整理资源。
- 根据你实际硬盘结构配置“下载库”“媒体库”等。
二级目录分类
- 这里推荐使用官方插件
- 下载后运行一次即可
- 配置好了后,去搜索下载个种子,看看能否自动识别文件类型并自动下载到对应的文件夹里
文件手动整理
- 当有较多命名类似的文件无法识别时(比如剧集有多集),往往需要批量手动整理,MoviePilot提供批量处理的方式以快速手动整理文件
- 当由于明明不规范文件自动整理失败时,将会产生失败记录,可在历史记录中手动进行整理。
- 也可以通过文件管理功能浏览文件系统,对整个目录或者某个文件进行手动整理。
自动重新整理
- 使用内置识别后能正确识别后,所有选项均不填,此时使用内置识别重新整理所有文件。
- 文件管理→找到对应文件
指定集数
- 部分剧集只有一两集或者是1-3合集作为第一集此时无法识别出集数时直接指定集数,例如 1表示第1集, 1-2表示第1-2集(两集合并为一个文件),1,3表示只处理第1到第3集的文件。
集数定位
- 用表达式来确定集数的位置,{ep}表示集,{a}表示随意用一个变量来替代不需要的但又不一致的部分,如果除了集数外没有其余不一样的内容,则只标定{ep}就行
- 例如
(BD)十二国記 第45話 (1440x1080 x264-10bpp flac).mkv
(BD)十二国記 第32話 (1440x1080 x264-10bpp flac).mkv
- 如果除了集数外没有其余不一样的内容那么
(BD)十二国記 第{ep}話 (1440x1080 x264-10bpp flac).mkv
就代表集数即可识别所有此命名下的剧集
- 如果既有集数不同也有其余的不同
- 例如
(BD)十二国記 第45話「東の海神 西の滄海 五章」(1440x1080 x264-10bpp flac).mkv
(BD)十二国記 第32話「風の万里 黎明の空 九章」(1440x1080 x264-10bpp flac).mkv
此时就用{a}来替代不需要的但又不一致的部分
(BD)十二国記 第{ep}話{a}(1440x1080 x264-10bpp flac).mkv
就可以识别
-如果剧集没有集数也没有相同的变量
那么建议用工具统一命名
自定义识别词
- 对于命名不规范的资源,可以在设定 -> 词表中编写自定义识别词,使用正则表达式对资源名称进行校正,以便MoviePilot可以正确识别。
-这里直接推荐共享识别词插件
-利用插件直接识别远程共享识别词
参考资料
- MoviePilot 项目
- TR皮肤仓库
- 博客教程参考
- [插件仓库合集]https://github.com/jxxghp/MoviePilot-Plugins/,https://github.com/thsrite/MoviePilot-Plugins/,https://github.com/honue/MoviePilot-Plugins/,https://github.com/InfinityPacer/MoviePilot-Plugins/,https://github.com/dandkong/MoviePilot-Plugins/,https://github.com/Aqr-K/MoviePilot-Plugins/,https://github.com/AnjoyLi/MoviePilot-Plugins/,https://github.com/WithdewHua/MoviePilot-Plugins/,https://github.com/HankunYu/MoviePilot-Plugins/,https://github.com/baozaodetudou/MoviePilot-Plugins/,https://github.com/almus2zhang/MoviePilot-Plugins/,https://github.com/Pixel-LH/MoviePilot-Plugins/,https://github.com/lightolly/MoviePilot-Plugins/,https://github.com/suraxiuxiu/MoviePilot-Plugins/,https://github.com/gxterry/MoviePilot-Plugins/,https://github.com/hotlcc/MoviePilot-Plugins-Third/,https://github.com/boeto/Movie