自动化观影 MoviePilot v2 教程
项目地址
Docker Compose 部署
这里使用 postgresql + redis,如果嫌麻烦可以直接使用 sqlite,按需选择,更多详细内容自行去官方文档了解
networks:
moviepilot:
name: moviepilot
# 本设备是极空间,postgresql 不支持 ZFS 所以需要新建卷,按需更改
volumes:
postgres_data:
driver: local
driver_opts:
type: none
o: bind
device: /data/docker/postgresql
services:
moviepilot:
stdin_open: true # 是否打开标准输入流(交互模式),为 true 时容器可以保持运行并与用户交互
tty: true # 是否分配伪终端,使容器的终端行为更像一个真实的终端
container_name: moviepilot-v2 # 容器名称
hostname: moviepilot-v2 # 容器主机名
networks:
- moviepilot
ports:
- '3000:3000'
- '3001:3001'
volumes:
- '/data/media:/media' # 媒体库或下载库路径
- '/data/docker/moviepilot-v2/config:/config' # moviepilot 的配置文件存放路径
- "/data/docker/qbittorrent/config/qBittorrent/BT_backup:/BT_backup" # qbittorrent 种子位置
- '/data/docker/moviepilot-v2/core:/moviepilot/.cache/ms-playwright' # 浏览器内核存放路径
- '/var/run/docker.sock:/var/run/docker.sock:ro' # 用于获取宿主机的 docker 管理权,一般用于页面重启或自动更新
environment:
- 'NGINX_PORT=3000'
- 'PORT=3001'
- 'PUID=0'
- 'PGID=0'
- 'UMASK=000'
- 'TZ=Asia/Shanghai'
- 'SUPERUSER=admin'
- 'SUPERUSER_PASSWORD=你的初始登录密码'
- 'PROXY_HOST=http://192.168.31.114:12345' # 代理地址
- 'DB_TYPE=postgresql'
- 'DB_POSTGRESQL_HOST=postgresql'
- 'DB_POSTGRESQL_PORT=5432'
- 'DB_POSTGRESQL_DATABASE=moviepilot'
- 'DB_POSTGRESQL_USERNAME=moviepilot'
- 'DB_POSTGRESQL_PASSWORD=pg_password'
- 'CACHE_BACKEND_TYPE=redis'
- 'CACHE_BACKEND_URL=redis://:redis_password@redis:6379'
restart: always
depends_on:
postgresql:
condition: service_healthy
redis:
condition: service_healthy
image: jxxghp/moviepilot-v2:latest
redis:
networks:
- moviepilot
volumes:
- /data/docker/redis/data:/data
image: redis
command: redis-server --save 600 1 --requirepass redis_password
healthcheck:
test: ["CMD", "redis-cli", "--raw", "incr", "ping"]
interval: 10s
timeout: 5s
retries: 5
postgresql:
networks:
- moviepilot
image: postgres
restart: always
environment:
POSTGRES_DB: moviepilot
POSTGRES_USER: moviepilot
POSTGRES_PASSWORD: pg_password
volumes:
- postgres_data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U moviepilot -d moviepilot"]
interval: 10s
timeout: 5s
retries: 5
qbittorrent:
image: linuxserver/qbittorrent:latest
container_name: qbittorrent
restart: always
network_mode: host
volumes:
- "/data/docker/qbittorrent/config:/config"
- "/data/media:/media"
environment:
- "PUID=0"
- "PGID=0"
- "TZ=Asia/Shanghai"
- "WEBUI_PORT=9090"
transmission:
image: linuxserver/transmission:4.0.5
container_name: transmission
restart: always
network_mode: host
volumes:
- "/data/docker/transmission/config:/config"
- "/data/media:/media"
environment:
- "PUID=0"
- "PGID=0"
- "TZ=Asia/Shanghai"
- "USER=admin"
- "PASS=password"
- "TRANSMISSION_WEB_HOME=/config/webui/trguing-web" # 第三方UI
emby:
image: amilys/embyserver:latest
container_name: emby
network_mode: host
environment:
- PUID=0
- PGID=0
volumes:
- '=/data/docker/emby/config:/config'
- '/data/media:/media'
restart: always数据迁移(可选)
如果要从 SQLite 迁移存量数据到 PostgreSQL,可以使用 pgloader 工具,全新安装可忽略:
将MoviePilot的 user.db 文件放置到 PostgreSQL 的配置目录
在 PostgreSQL 容器内执行
# 进入容器
# docker exec -it postgresql bash
apt update
apt install pgloader
pgloader sqlite:////var/lib/postgresql/data/user.db postgresql://moviepilot:你的密码@localhost:5432/moviepilot在 PostgreSQL 对应数据库中执行以下语句,并重启 MP,以触发数据库升级:
# 进入容器
# docker exec -it postgresql bash
# 连接到PostgreSQL
# psql -U moviepilot
update alembic_version set version_num = 'd58298a0879f';系统配置
下载器


目录

词表设置
自定义识别词
自定义制作组/字幕组
喵萌奶茶屋
风车字幕组
银色子弹字幕组
枫叶字幕组
诸神字幕组
❀拨雪寻春❀
VARYG
AI-Raws
ANi
SweetSub
LoliHouse
VCB-Studio
7³ACG
OPFans枫雪动漫
SilverBullet
APTX4869
Snow-Raws
B-Global
CR
KKTV
Baha
MyVideo
AMZN
KKTV
friDay
Disney+
LINETV
NF
Viu
Crunchyroll
Netflix
Amazon
MAX
AppleTV+
HMAX
BiliBili
Abema
CatchPlay
iTunes
Remux
ADWeb
NTb
FLUX
DSNP
银色子弹字幕组
RLWeb
Breeze@Sunny
Rain@Sunny
RLeaves自定义占位符
\b(简繁内封|简繁日内封|简繁日英内封|简繁官字内封|官简内封|简日双语|简体内封|简体内嵌|繁体内嵌|简英双语|简繁外挂|简体|HDR|DoVi)\b文件整理屏蔽词
__\w{6}/
Special Ending Movie
\[((TV|BD|\bBlu-ray\b)?\s*CM\s*\d{2,3})\]
\[Teaser.*?\]
\[PV.*?\]
\[NC[OPED]+.*?\]
\[S\d+\s+Recap(\s+\d+)?\]
Menu
Preview
\b(CDs|SPs|Scans|Bonus|映像特典|映像|specials|特典CD|Menu|Logo|Preview|/mv)\b
\b(NC)?(Disc|片头|OP|OVA|OAD|SP|ED|Advice|Trailer|BDMenu|片尾|PV|CM|Preview|MENU|Info|EDPV|SongSpot|BDSpot)(\d{0,2}|_ALL)\b
WiKi.sample规则设置
自定义规则
[{"id":"Complete","name":"Complete","include":"(全|共)\\d(集|期)|完结|合集|Complete","exclude":""},{"id":"filterGlobal","name":"filterGlobal","include":"","exclude":"(?i)日语无字|先行|DV|MiniBD|DIY原盘|iPad|UPSCALE|AV1|BDMV|RMVB|DVD|vcd|480p|OPUS","seeders":""},{"id":"filerGroup","name":"filerGroup","include":"","exclude":"(?i)SubsPlease|Up to 21°C|VARYG|TELESYNC|NTb|sGnb|BHYS|DBD|HDH|COLLECTiVE|SRVFI|HDSPad"},{"id":"filterMovie","name":"filterMovie","include":"","exclude":"","seeders":"","size_range":"0-22000"},{"id":"filterSeries","name":"filterSeries","include":"","exclude":"","size_range":"0-102400"},{"id":"AnimeGroup","name":"AnimeGroup","include":"7³ACG|VCB-Studio","exclude":"","size_range":""},{"id":"Audiences","name":"Audiences","include":"ADE|ADWeb","exclude":"","seeders":""},{"id":"HHWEB","name":"HHWEB","include":"HHWEB","exclude":""},{"id":"Crunchyroll","name":"Crunchyroll","include":"CR|Crunchyroll","exclude":""},{"id":"Netflix","name":"Netflix","include":"Netflix|NF","exclude":""},{"id":"B-Global","name":"B-Global","include":"B-Global|BG","exclude":""},{"id":"AMZN","name":"AMZN","include":"AMZN|Amazon","exclude":""},{"id":"HQ","name":"HQ","include":"HQ|高码|EDR","exclude":"","size_range":""},{"id":"DDP","name":"DDP","include":"DDP","exclude":""}]优先级规则
[{"name":"前置过滤","rule_string":"filterGlobal& !BLU & !REMUX & !3D & !DOLBY &filerGroup","media_type":"","category":""},{"name":"动画电影","rule_string":" SPECSUB & 4K & BLURAY & H265 > CNSUB & 4K & BLURAY & H265 > CNSUB & 4K & BLURAY > CNSUB & 1080P & BLURAY > CNSUB & 4K > CNSUB & 1080P ","media_type":"电影","category":"动画电影"},{"name":"华语电影","rule_string":" 4K & BLURAY & H265 > 1080P & BLURAY > 4K > 1080P ","media_type":"电影","category":"华语电影"},{"name":"外语电影","rule_string":" SPECSUB & 4K & BLURAY & H265 &filterMovie> CNSUB & 4K & BLURAY & H265 &filterMovie> CNSUB & 1080P & BLURAY &filterMovie> CNSUB & 4K &filterMovie> CNSUB & 1080P &filterMovie","media_type":"电影","category":"外语电影"},{"name":"日番","rule_string":"AnimeGroup& CNSUB & BLURAY & 1080P >Audiences& H265 & BLURAY & 1080P >Audiences&AMZN&HHWEB& CNSUB & 1080P >Audiences&Crunchyroll& CNSUB & 1080P >Audiences&Netflix&HHWEB& CNSUB & 1080P >Audiences&B-Global& 4K & CNSUB >Audiences&B-Global& 1080P & CNSUB >Audiences&HHWEB& CNSUB & 1080P > CNSUB & BLURAY & 1080P > 1080P & CNSUB > 1080P ","media_type":"电视剧","category":"日番"},{"name":"国漫","rule_string":" 4K &Audiences&HHWEB&DDP> 4K &Audiences&HHWEB> 1080P &Audiences&HHWEB> 4K > 1080P > 720P ","media_type":"电视剧","category":"国漫"},{"name":"纪录片","rule_string":" 4K & BLURAY > 1080P & BLURAY > 4K > 1080P ","media_type":"电视剧","category":"纪录片"},{"name":"综艺","rule_string":" 4K & WEBDL &Complete> 4K & WEBDL &HHWEB> WEBDL & 1080P &HHWEB> 4K & WEBDL &Audiences> 1080P &Audiences& WEBDL > 1080P ","media_type":"电视剧","category":"综艺"},{"name":"国产剧","rule_string":" 4K & WEBDL &HQ> 4K & WEBDL > 4K & WEBDL > 1080P > 720P ","media_type":"电视剧","category":"国产剧"},{"name":"欧美剧","rule_string":" SPECSUB & 1080P & BLURAY &filterSeries> 1080P & WEBDL & CNSUB &filterSeries> CNSUB &filterSeries","media_type":"电视剧","category":"欧美剧"},{"name":"日韩剧","rule_string":" SPECSUB & 1080P & BLURAY &filterSeries> CNSUB & 1080P &filterSeries> 1080P & CNSUB &filterSeries> CNSUB &filterSeries ","media_type":"电视剧","category":"日韩剧"},{"name":"现场","rule_string":" CNSUB & 4K > CNSUB & 1080P > 4K > 1080P > !720P ","media_type":"电影","category":"现场"}]前置过滤:用于在进行其他筛选之前,排除特定的资源格式。
rule_string包含过滤条件filterGlobal,并排除了 “BLU”、“REMUX”、“3D” 和 “DOLBY” 格式,同时排除了小组过滤条件filerGroup。动画电影:针对动画电影的优先规则,按以下顺序选择:
有外挂字幕的 4K H265 蓝光
有中文内嵌字幕的 4K H265 蓝光
有中文内嵌字幕的 4K 蓝光
有中文内嵌字幕的 1080P 蓝光
有中文内嵌字幕的 4K 或 1080P
华语电影:针对华语电影的优先规则,按以下顺序选择:
4K H265 蓝光
1080P 蓝光
4K 或 1080P
外语电影:针对外语电影的优先规则,结合
filterMovie的条件,按以下顺序选择:有外挂字幕的 4K H265 蓝光
有中文内嵌字幕的 4K H265 蓝光
有中文内嵌字幕的 1080P 蓝光
有中文内嵌字幕的 4K 或 1080P
日番:针对日本动漫剧集的优先规则,按以下顺序选择:
动漫小组资源,包含中文内嵌字幕的 1080P 蓝光
包含外挂字幕的 1080P H265 蓝光或来自特定平台的 1080P
各种平台的 4K 或 1080P
国漫:针对中国动漫剧集的优先规则,按以下顺序选择:
包含外挂字幕的 4K,优先有 DDP 音轨的资源
各种 1080P 和 4K
纪录片:针对纪录片资源的优先规则,按以下顺序选择:
4K 蓝光
1080P 蓝光
各种 4K 和 1080P
综艺:针对综艺节目的优先规则,按以下顺序选择:
完整的 4K WEBDL
包含 HHWEB 或 Audiences 字幕组的 4K 或 1080P WEBDL
国产剧:针对国产电视剧的优先规则,按以下顺序选择:
高清 4K WEBDL,优先包含 HQ 的高码率资源
各种 4K、1080P 和 720P 的 WEBDL
欧美剧:针对欧美电视剧的优先规则,结合
filterSeries的条件,按以下顺序选择:有外挂字幕的 1080P 蓝光
1080P WEBDL,包含中文内嵌字幕
其他包含中文内嵌字幕的资源
日韩剧:针对日韩电视剧的优先规则,按以下顺序选择:
有外挂字幕的 1080P 蓝光
包含中文内嵌字幕的 1080P 资源
现场:针对现场表演或现场记录的资源,按以下顺序选择:
中文内嵌字幕的 4K 或 1080P
排除 720P
插件配置
二级分类策略
####### 配置说明 #######
# 1. 该配置文件用于配置电影和电视剧的分类策略,配置后程序会按照配置的分类策略名称进行分类,配置文件采用yaml格式,需要严格附合语法规则
# 2. 配置文件中的一级分类名称:`movie`、`tv` 为固定名称不可修改,二级名称同时也是目录名称,会按先后顺序匹配,匹配后程序会按这个名称建立二级目录
# 3. 支持的分类条件:
# `original_language` 语种,具体含义参考下方字典
# `production_countries` 国家或地区(电影)、`origin_country` 国家或地区(电视剧),具体含义参考下方字典
# `genre_ids` 内容类型,具体含义参考下方字典
# `release_year` 发行年份,格式:YYYY,电影实际对应`release_date`字段,电视剧实际对应`first_air_date`字段,支持范围设定,如:`YYYY-YYYY`
# themoviedb 详情API返回的其它一级字段
# 4. 配置多项条件时需要同时满足,一个条件需要匹配多个值是使用`,`分隔
# 5. !条件值表示排除该值
# 配置电影的分类策略
movie:
# 分类名同时也是目录名
动画电影:
# 匹配 genre_ids 内容类型,16是动漫
genre_ids: '16'
华语电影:
# 匹配语种
original_language: 'zh,cn,bo,za'
演唱会:
# 匹配 genre_ids 内容类型,10402是演唱会
genre_ids: '10402'
# 未匹配以上条件时,分类为外语电影
外语电影:
# 配置电视剧的分类策略
tv:
# 分类名同时也是目录名
国漫:
# 匹配 genre_ids 内容类型,16是动漫
genre_ids: '16'
# 匹配 origin_country 国家,CN是中国大陆,TW是中国台湾,HK是中国香港
origin_country: 'CN,TW,HK'
日番:
# 匹配 genre_ids 内容类型,16是动漫
genre_ids: '16'
# 匹配 origin_country 国家,JP是日本
origin_country: 'JP'
纪录片:
# 匹配 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'
# 未匹配以上分类,则命名为未分类
未分类:
## genre_ids 内容类型 字典,注意部分中英文是不一样的
# 28 Action
# 12 Adventure
# 16 Animation
# 35 Comedy
# 80 Crime
# 99 Documentary
# 18 Drama
# 10751 Family
# 14 Fantasy
# 36 History
# 27 Horror
# 10402 Music
# 9648 Mystery
# 10749 Romance
# 878 Science Fiction
# 10770 TV Movie
# 53 Thriller
# 10752 War
# 37 Western
# 28 动作
# 12 冒险
# 16 动画
# 35 喜剧
# 80 犯罪
# 99 纪录
# 18 剧情
# 10751 家庭
# 14 奇幻
# 36 历史
# 27 恐怖
# 10402 音乐
# 9648 悬疑
# 10749 爱情
# 878 科幻
# 10770 电视电影
# 53 惊悚
# 10752 战争
# 37 西部
## original_language 语种 字典
# af 南非语
# ar 阿拉伯语
# az 阿塞拜疆语
# be 比利时语
# bg 保加利亚语
# ca 加泰隆语
# cs 捷克语
# cy 威尔士语
# da 丹麦语
# de 德语
# dv 第维埃语
# el 希腊语
# en 英语
# eo 世界语
# es 西班牙语
# et 爱沙尼亚语
# eu 巴士克语
# fa 法斯语
# fi 芬兰语
# fo 法罗语
# fr 法语
# gl 加里西亚语
# gu 古吉拉特语
# he 希伯来语
# hi 印地语
# hr 克罗地亚语
# hu 匈牙利语
# hy 亚美尼亚语
# id 印度尼西亚语
# is 冰岛语
# it 意大利语
# ja 日语
# ka 格鲁吉亚语
# kk 哈萨克语
# kn 卡纳拉语
# ko 朝鲜语
# kok 孔卡尼语
# ky 吉尔吉斯语
# lt 立陶宛语
# lv 拉脱维亚语
# mi 毛利语
# mk 马其顿语
# mn 蒙古语
# mr 马拉地语
# ms 马来语
# mt 马耳他语
# nb 挪威语(伯克梅尔)
# nl 荷兰语
# ns 北梭托语
# pa 旁遮普语
# pl 波兰语
# pt 葡萄牙语
# qu 克丘亚语
# ro 罗马尼亚语
# ru 俄语
# sa 梵文
# se 北萨摩斯语
# sk 斯洛伐克语
# sl 斯洛文尼亚语
# sq 阿尔巴尼亚语
# sv 瑞典语
# sw 斯瓦希里语
# syr 叙利亚语
# ta 泰米尔语
# te 泰卢固语
# th 泰语
# tl 塔加路语
# tn 茨瓦纳语
# tr 土耳其语
# ts 宗加语
# tt 鞑靼语
# uk 乌克兰语
# ur 乌都语
# uz 乌兹别克语
# vi 越南语
# xh 班图语
# zh 中文
# cn 中文
# zu 祖鲁语
## origin_country/production_countries 国家地区 字典
# AR 阿根廷
# AU 澳大利亚
# BE 比利时
# BR 巴西
# CA 加拿大
# CH 瑞士
# CL 智利
# CO 哥伦比亚
# CZ 捷克
# DE 德国
# DK 丹麦
# EG 埃及
# ES 西班牙
# FR 法国
# GR 希腊
# HK 香港
# IL 以色列
# IN 印度
# IQ 伊拉克
# IR 伊朗
# IT 意大利
# JP 日本
# MM 缅甸
# MO 澳门
# MX 墨西哥
# MY 马来西亚
# NL 荷兰
# NO 挪威
# PH 菲律宾
# PK 巴基斯坦
# PL 波兰
# RU 俄罗斯
# SE 瑞典
# SG 新加坡
# TH 泰国
# TR 土耳其
# US 美国
# VN 越南
# CN 中国 内地
# GB 英国
# TW 中国台湾
# NZ 新西兰
# SA 沙特阿拉伯
# LA 老挝
# KP 朝鲜 北朝鲜
# KR 韩国 南朝鲜
# PT 葡萄牙
# MN 蒙古国 蒙古
站点自动签到

自动转移做种

IYUU自动辅种

下载器助手


- 感谢你赐予我前进的力量