-
本仓库仅作为对Moviepilot的一些使用上的内容补充,发现问题时,请先仔细阅读原项目的Readme
-
Moviepilot的
docker&docker-compose
配置模板及Ocr服务
的搭建教程DDS-Derek/MoviePilot -
由于Moviepilot是在Nastool的基础上开发的,因此很多教程也是共通的,例如
微信、tg、部分插件
的配置教程就可以参考Nastool的相关教程。 -
除此之外部分内容也可以参考nas-tools-wiki的说明进行配置。
-
提问题前一定记着先去看看日志,一般日志会写出问题所在,在提问时记得附上日志截图
-
待补充
MoviePilot使用的是域名白名单
机制,如果添加不了可以去站点公告
或者论坛查看站点的其他可用域名(一般为站点最新的域名),并尝试添加。
例如问的最多的馒头,可以尝试将域名改为xp.xxxxxx.io
进行添加
公开站点Mikan
和动漫花园
的可用域名如下,如果测试无法联通请勾选代理
,并配置代理信息
1.查看环境变量是否配置好,例如iyuu
需要同时配置AUTH_SITE
、IYUU_SIGN
两个变量
2.检查站点连接性,一般可能是代理的配置问题,可以尝试调整代理软件的规则。
可通过查看日志按以下顺序排查
站点
或tmdb
是否能正常连接上- 检查是否返回了搜索结果
- 搜索结果是否被
搜索优先级
过滤 - 有时种子名与tmdb进行匹配时,由于命名问题可能会同时存在多个同名影视,导致匹配到其他影视剧,也会造成搜索失败,此时建议直接去站点或是使用ptpp进行检索下载。
- 站点的种子命名与tmdb对应不上时,MoviePilot会将中搜索结果这部分内容丢弃。出现这种情况的话可以先去站点手动检索,并添加一个自定义识别词,将站点的命名替换为tmdb的命名,再尝试搜索&订阅。
-
如果使用的是公共的CookieCloud服务端,需要检查一下容器内部是否能够连接上服务端。
-
如果是本地自建的CookieCloud,浏览器可以正常连接而MoviePilot无法连接,一般可能是因为代理将本地地址也一并代理了。可以将代理配置为规则代理,并将本地地址设定为直连,也可以在环境变量中添加
no_proxy=localhost,127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16
,再进行尝试。
一般出现这种提示是出现了跨盘的问题,在建立docker容器时,路径的映射容易出现以下情况
volumes:
- '/volume1/video/media:/media' #注意右侧为容器内路径
- '/volume1/video/link:/link'
此时在容器内部,视频文件和硬链接目录为无隶属关系的两个文件夹,此时使用硬链接时便会可能报错或是硬链接变为复制。正确的路径映射应为下面这种
volumes:
- '/volume1/video:/volume1/video' #此时容器内路径与容器外路径保持一致,并且只映射一个大目录
environment:
# 下载保存目录
- 'DOWNLOAD_PATH=/volume1/video/download'
- 'DOWNLOAD_MOVIE_PATH=/volume1/video/download/movies'
- 'DOWNLOAD_TV_PATH=/volume1/video/download/tv'
- 'DOWNLOAD_ANIME_PATH=/volume1/video/download/anime'
# 媒体库目录
- 'LIBRARY_PATH=/volume1/video/link'
- 'LIBRARY_MOVIE_NAME=movies'
- 'LIBRARY_TV_NAME=tv'
- 'LIBRARY_ANIME_NAME=anime'
保持目录与宿主机一致,此时在配置文件中可以在后续维护中减少出问题的概率。关于其他容器关于路径的配置问题可以参见下面这张图
补充①:有些文件系统无法使用符号链接,此时硬链接与软链接均会报错,例如:exFAT
,FAT32
除此之外,在NTFS
文件系统上也可能会出现无法创建链接的问题。
补充②:使用网盘挂载时,请选择rclone
或软链接
的方式进行整理,或是将网盘挂载为本地目录并映射进docker容器内,使用复制
或移动
来进行整理。
MoviePilot本身是有提供动漫的二级分类的,但在二级分类的category.yaml
配置文件中却与Nastool有所区别,动漫的相关配置不再具有anime
的大分类,而需要写在tv
也就是电视剧下面。
在实际转移的过程中MoviePilot会将具有genre_ids: '16'
标识的分类作为动漫分类。下面是一个带有动漫
的示例二级分类文件:
movie:
# 分类名同时也是目录名,会按先后顺序匹配,匹配后程序会按这个名称建立二级目录
动画电影:
# 分类依据,可以是:original_language 语种、production_countries 国家或地区、genre_ids 内容类型等,只要TMDB API返回的字段中有就行
# 配置多项条件时,需要同时满足;不需要的匹配项可以删掉或者配置为空
# 匹配 genre_ids 内容类型,16是动漫
genre_ids: '16'
华语电影:
# 匹配语种
original_language: 'zh,cn,bo,za'
# 未配置任何过滤条件时,则按先后顺序不符合上面分类的都会在这个分类下,建议配置在最末尾
外语电影:
# 配置电视剧的分类策略, 配置为空或者不配置该项则不启用电视剧分类
tv:
# 分类名同时也是目录名,会按先后顺序匹配,匹配后程序会按这个名称建立二级目录
完结动漫:
# 匹配 genre_ids 内容类型,16是动漫
genre_ids: '16'
status: 'Ended,Canceled'
连载动漫:
# 匹配 genre_ids 内容类型,16是动漫
genre_ids: '16'
纪录片:
# 匹配 genre_ids 内容类型,99是纪录片
genre_ids: '99'
儿童:
# 匹配 genre_ids 内容类型,10762是儿童
genre_ids: '10762'
综艺:
# 匹配 genre_ids 内容类型,10764 10767都是综艺
genre_ids: '10764,10767'
国产剧:
# 匹配 origin_country 国家,CN是**大陆,TW是****,HK是**香港
origin_country: 'CN,TW,HK'
欧美剧:
# 匹配 origin_country 国家,主要欧美国家列表
origin_country: 'US,FR,GB,DE,ES,IT,NL,PT,RU,UK'
日韩剧:
# 匹配 origin_country 国家,主要亚洲国家列表
origin_country: 'JP,KP,KR,TH,IN,SG'
# 未匹配以上分类,则命名为未分类
未分类:
使用这个文件生成的二级分类效果如下
├─动漫
│ ├─完结动漫
│ └─连载动漫
├─电影
│ ├─动画电影
│ ├─华语电影
│ └─外语电影
└─电视剧
├─国产剧
├─日韩剧
└─欧美剧
1.使用演职人员刮削
插件,填写扫描周期
后即可。
2.使用MediaServerTools来刷新emby的元数据,config文件可在这里下载。
version: '3.3'
services:
MediaServerTools:
container_name: MediaServerTools
volumes:
- './config:/config'
environment:
- TZ=Asia/Shanghai
- PUID=1000
- PGID=1000
- UMASK=022
- MediaServerTools_AUTO_UPDATE=true # 自动更新
- MediaServerTools_CN_UPDATE=true # 使用国内源更新
network_mode: host
logging:
driver: json-file
options:
max-size: 5m
image: 'ddsderek/mediaservertools:latest'
1.检查日志
2.检查Tmdb、FanArt等网站的的连接性,推荐将这些站点手动添加到代理的规则列表或配置文件中。以下以clash为例:
- DOMAIN-SUFFIX,fanart.tv,🚀 节点选择 #🚀 节点选择更改为clash文件中的代理服务器组的名称即可
- DOMAIN-KEYWORD,tmdb,🚀 节点选择
- DOMAIN-KEYWORD,themoviedb,🚀 节点选择
3.如果增加代理规则后还是没有改善,那么可以在MoviePilot的环境变量中新增下面两条:
all_proxy=http://192.168.1.1:7890 #代理地址
no_proxy=localhost,127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16
★需要注意的是,环境变量中添加all_proxy
变量后,一定要添加no_proxy
,否则可能会出现容器无法启动、无法连接emby、无法连接cookiescloud等问题
1.检查日志,查看是否能正常连接tmdb
2.资源名称命名与tmdb不同导致无法识别,下面是一个例子
通过检查tmdb的剧集的别名可以看到,该剧集目前是没有Otona_Precure_23
的译名的,因此也会导致MoviePilot无法识别
解决方法也很简单,在设定-词表-自定义识别词
中填写
Otona_Precure_23 => Kibou no Chikara: Otona Precure `23
推荐优先将替换为英文译名或原名,中文译名有时候会歧义导致被经常修改
之后就可以正常识别了,有时候改完以后还无法识别,可以先清除缓存后再进行尝试。
该文件命名MoviePilot无法识别,需要进行手动转移,转移的配置如下。
MoviePilot会定期使用站点的rss来匹配是否有订阅内容,此时会在日志中产生这些记录,对实际使用没有影响。
1.检查下载器的配置信息,MoviePilot是否能正常连接下载器
2.检查下载器日志,是否因为多次密码错误而将MoviePilot的ip地址拉入黑名单
3.检查下载器内是否已经有相同的下载任务
spider模式:添加订阅时,向所有订阅站点请求一次搜索,并对搜索结果进行匹配,对媒体库中不存在的剧集进行下载操作。之后每隔一段时间重复上述操作。
rss模式:首次添加订阅时,会进行与spider模式相同的操作,但之后更新内容的方式变为使用站点的RSS来获取新剧集的信息,因此使用该模式时需要配置好站点的RSS链接的内容,例如只勾选电视剧/动画,或者只指定需要订阅的官组,这样可以使RSS的内容更加干净,减少无关内容造成的订阅错误。
补充制作组/字幕组的识别规则,填写位置为
设置-词表-自定义制作组/字幕组
(?<=264\-)\w+(?=\.mkv);(?<=265\-)\w+(?=\.mkv)
(?<=264\-)\w+(?=\.mp4);(?<=265\-)\w+(?=\.mp4)
ADWeb
补充制作组/字幕组的识别规则,填写位置为
设置-词表-自定义占位符
(?<=1080p\.).*(?=\.WEB-DL);(?<=2160p\.).*(?=\.WEB-DL)
(?<=1080p\.).*(?=\.WEBRip);(?<=2160p\.).*(?=\.WEBRip)
\b(Baha|CR|B-Global|ABEMA|MyVideo|AMZN|KKTV|friDay|DSNP|LINETV|Crunchyroll|IQ|Hulu|HQ|60fps|Paramount+|LineTV|Linetv|Disney+|FriDay|HMAX|MAX|NF|IQY|IQ|TX|WeTV|YT|YK|Migu|Mgtv|Bilibili|Sohu|Xigua|iTunes)\b
填写位置为docker容器的环境变量里的
MOVIE_RENAME_FORMAT
和TV_RENAME_FORMAT
剧集:
{{title}}{% if year %} ({{year}}){% endif %}/Season {{season}}/{{title}} - {{season_episode}}{% if part %}-{{part}}{% endif %}{% if videoFormat %} - {{videoFormat}}{% endif %}{% if videoCodec %} - {{videoCodec}}{% endif %}{% if audioCodec %} - {{audioCodec}}{% endif %}{% if customization %} - {{customization}}{% endif %}{% if releaseGroup %} - {{releaseGroup}}{% endif %}{{fileExt}}
电影:
{{title}}{% if year %} ({{year}}){% endif %}/{{title}}{% if year %} ({{year}}){% endif %}{% if part %}-{{part}}{% endif %}{% if videoFormat %} - {{videoFormat}}{% endif %}{% if videoCodec %} - {{videoCodec}}{% endif %}{% if audioCodec %} - {{audioCodec}}{% endif %}{% if releaseGroup %} - {{releaseGroup}}{% endif %}{{fileExt}}
自动整理时排除无用的其他文件,填写位置为
设置-词表-文件整理屏蔽词
Special Ending Movie
\[((TV|BD|\bBlu-ray\b)?\s*CM\s*\d{2,3})\]
\[Teaser.*?\]
\[PV.*?\]
\[NC[OPED]+.*?\]
\[S\d+\s+Recap(\s+\d+)?\]
予告
-
参见此教程
首先需要先准备一个具有固定公网地址的服务器,例如VPS,之后在该服务器上搭建代理服务。搭建方式可以有以下两种,两种任选其一即可
1、使用
caddy
搭建
- 从 https://github.com/caddyserver/caddy/releases
下载自己对应系统的版本,例如 AMD64 下载
caddy_2.7.5_linux_amd64.tar.gz
- 解压得到
caddy
文件 上传到/usr/local/bin
目录下,注意设置权限0755
- 在任意目录新建
Caddyfile
文件(例如/usr/local/caddy
) ,注意设置权限0755
,文 件内容如下
:3000
reverse_proxy https://qyapi.weixin.qq.com {
header_up Host {upstream_hostport}
}
- SSH 控制台 cd 到
Caddyfile
文件的目录(例如/usr/local/caddy
) - 输入 caddr start 启动完成,在防火墙中放行3000端口
- NasTools / MoviePilot 设置微信的代理 IP 地址为
http://你的服务器ip/域名:3000
2、使用ddsderek/wxchatdocker镜像搭建
version: '3.3'
services:
wxchat:
container_name: wxchat
restart: always
ports:
- '3000:80'
image: 'ddsderek/wxchat:latest'
docker run -d \
--name wxchat \
--restart=always \
-p 3000:80 \
ddsderek/wxchat:latest
搭建完成后,在防火墙中放行3000端口,并在NasTools / MoviePilot 设置微信的代理 IP 地址为 http://你的服务器ip/域名:3000
1.在企业微信的填写的地址可以有两种方式
①http://ip:端口/api/v1/message/?token=moviepilot
②http://ip:端口/api/v1/message/
如果自行配置了API_TOKEN
的值,那么就需要在地址后面补上?token=moviepilot
。如果API_TOKEN
为默认值,那么两种填写方式均可。
2.确认在手机打开流量时,直接打开http://ip:端口
,可以直接访问MoviePilot的网页。
3.微信不支持ipv6,因此如果域名是使用ipv6解析的时候,也会导致不通过。如果没有ipv4的公网ip,建议使用内网穿透。
如果是沿用nastool的代理服务器配置,需要在nginx
的配置文件中额外加入下列代码,才能自动生成菜单。
location /cgi-bin/menu/create {
proxy_pass https://qyapi.weixin.qq.com;
}
如果还是没有正常生成菜单,也可以手动添加菜单,具体的命令列表如下。
/cookiecloud 同步站点
/sites 查询站点
/site_cookie 更新站点Cookie
/site_enable 启用站点
/site_disable 禁用站点
/mediaserver_sync 同步媒体服务器
/subscribes 查询订阅
/subscribe_refresh 刷新订阅
/subscribe_search 搜索订阅
/subscribe_delete 删除订阅
/subscribe_tmdb 订阅元数据更新
/downloading 正在下载
/transfer 下载文件整理
/redo 手动整理
/clear_cache 清理缓存
/restart 重启系统
/site_signin 站点签到
/site_statistic 站点数据统计
添加环境变量TZ=Asia/Shanghai
在网页右下角有一个“+”号,点击即可添加插件
-
目前只支持配置一个
Qbittorrent
和一个Transmission
Ocr与主机的CPU有关,无法使用通常是CPU不支持导致的,例如常用的J4125就无法部署。
参见此项目Shortcuts-Moviepilot
-
下载官方市场所有插件:https://github.com/jxxghp/MoviePilot-Plugins
-
上传目标插件至nas中moviepilot挂载的目录
volumes:
- '/volume2/docker/moviepilot/config:/config'
假设配置如上,那就临时上传到/volume2/docker/moviepilot/config目录
-
在容器管理工具中,打开终端机,新增bash。进入容器
-
将目标插件移到插件目录
mv /config/{plugin-name} /app/app/plugins
# mv /config/iyuumsg /app/app/plugins
- 重启容器,不需要改配置。(未验证版本更新后,是否需要重新操作一次)
插件图标地址:/public/plugin