🎬 MoviePilot 是一款高效的 NAS 媒体库自动化管理工具,帮助您轻松管理和整理影视资源。
📦 部署
Docker Compose 构建
创建 docker-compose.yml 文件,内容如下:
💡 提示:请根据您的实际环境修改以下配置中的路径和参数。
version: '3'
services:
moviepilot:
image: jxxghp/moviepilot-v2:latest
container_name: moviepilot-v2
hostname: moviepilot-v2
stdin_open: true
tty: true
restart: always
ports:
- '4500:4500' # Web UI 端口
- '4501:4501' # 内部服务端口
- '9096:9096' # 监控端口
volumes:
- '/mnt/disk1/Media:/media' # 📁 媒体目录(请修改为您的实际路径)
- './config:/config' # 📁 持久化配置
- './core:/moviepilot/.cache/ms-playwright' # 📁 内核浏览器缓存
- '/var/run/docker.sock:/var/run/docker.sock:ro' # 🔧 重启 MP 权限
environment:
- 'NGINX_PORT=4500'
- 'PORT=4501'
- 'PUID=0'
- 'PGID=0'
- 'UMASK=000'
- 'TZ=Asia/Shanghai'
- 'MOVIEPILOT_AUTO_UPDATE=true'
- 'SUPERUSER=admin'
- 'PROXY_HOST=http://192.168.2.2:7890' # 🌐 代理地址(请根据实际情况修改)
# 数据库配置
- 'DB_TYPE=postgresql'
- 'DB_POSTGRESQL_HOST=postgresql'
- 'DB_POSTGRESQL_PORT=5432'
- 'DB_POSTGRESQL_DATABASE=moviepilot'
- 'DB_POSTGRESQL_USERNAME=moviepilot'
- 'DB_POSTGRESQL_PASSWORD=moviepilot'
# 缓存配置
- 'CACHE_BACKEND_TYPE=redis'
- 'CACHE_BACKEND_URL=redis://:moviepilot@redis:6379'
depends_on:
postgresql:
condition: service_healthy
redis:
condition: service_healthy
redis:
image: redis:latest
container_name: moviepilot-redis
restart: always
volumes:
- ./redis/data:/data
command: redis-server --save 600 1 --requirepass moviepilot
healthcheck:
test: ["CMD", "redis-cli", "--raw", "incr", "ping"]
interval: 10s
timeout: 5s
retries: 5
postgresql:
image: postgres:17.6
container_name: moviepilot-postgresql
restart: always
environment:
POSTGRES_DB: moviepilot
POSTGRES_USER: moviepilot
POSTGRES_PASSWORD: moviepilot
volumes:
- ./postgresql:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U moviepilot -d moviepilot"]
interval: 10s
timeout: 5s
retries: 5📖 参考文档:
🔧 初始化
按照以下步骤完成初始化:
启动服务
docker-compose up -d等待更新
程序会自动下载并更新到最新版本
获取管理员密码
初始化时会生成随机管理员密码
请在容器日志中查看密码

登录系统
默认账号:
admin密码:从日志中获取的随机密码
访问地址:
http://your-server-ip:4500
⚠️ 重要:首次登录后请立即修改默认密码!
⚙️ 配置指南
💡 提示:以下每个步骤完成后,都切记点击 "保存" 按钮。
1. 下载器
配置路径:设定 → 系统 → 下载器
操作步骤:
点击"添加"按钮
选择下载器类型(qBittorrent/Transmission)
填写下载器地址、用户名、密码
点击"保存"
2. 媒体服务器
配置路径:设定 → 系统 → 媒体服务器
操作步骤:
选择您的媒体服务器类型
填写服务器地址和 API 密钥
设置为"默认媒体服务器"
点击"保存"
3. 二级分类策略
配置路径:插件 → 插件市场 → 二级分类策略
此策略用于将媒体自动分类到不同目录。详细配置方法请参考 官方 Wiki。
参考配置
# ========== 电影分类策略 ==========
movie:
# 动画电影
动画电影:
genre_ids: '16' # 匹配 genre_ids 内容类型,16 是动漫
# 华语电影
华语电影:
original_language: 'zh,cn,bo,za' # 匹配语种
# 现场/演唱会
现场:
genre_ids: '10402'
# 外语电影(默认分类)
外语电影:
# ========== 电视剧分类策略 ==========
tv:
# 国漫
国漫:
genre_ids: '16'
origin_country: 'CN,TW,HK'
# 日番
日番:
genre_ids: '16'
origin_country: 'JP'
# 欧美漫
欧美漫:
genre_ids: '16'
origin_country: 'US,FR,GB,DE,ES,IT,NL,PT,RU,UK'
# 纪录片
纪录片:
genre_ids: '99'
# 综艺
综艺:
genre_ids: '10764,10767'
# 国产剧
国产剧:
origin_country: 'CN,TW,HK'
# 日韩剧
日韩剧:
origin_country: 'JP,KP,KR,TH,IN,SG'
# 欧美剧(默认分类)
欧美剧:4. 存储目录
配置路径:设定 → 媒体库 → 存储目录
在此处将二级分类策略中定义的"分类"与物理目录进行映射。
核心概念
目录结构示例

方案一:使用二级分类策略自动分类
为"电影"和"电视剧"两个大类分别设置一个总的下载目录和媒体库目录,系统会根据二级策略自动分类。

方案二:为每个分类单独设置目录
为每一个二级分类(如"国产剧"、"纪录片")分别指定其下载目录和媒体库目录。此方案可与方案一组合使用。

5. 整理刮削
电影重命名格式
{{title}}{% if year %} ({{year}}){% endif %}{% if tmdbid %} {tmdbid={{tmdbid}}}{% endif %}/{{title}}{% if en_title %}.{{en_title}}{% endif %}{% if year %}.{{year}}{% endif %}{% if webSource %}.{{webSource}}{% endif %}{% if edition %}.{{edition}}{% endif %}{% 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 %}{% if tmdbid %} {tmdbid={{tmdbid}}}{% endif %}/Season {{(season|string).zfill(2)}}/{{title}} {{season_episode}} {{videoFormat}}{%if webSource %}.{{webSource}}{% endif %}{%if edition %}.{{edition}}{% endif %}{% if videoCodec %}.{{videoCodec}}{% endif %}{% if audioCodec %}.{{audioCodec}}{% endif %}{% if customization %}.{{customization}}{% endif %}{% if releaseGroup %}-{{ releaseGroup }}{% endif %}{{fileExt}}
6. 站点同步 (CookieCloud)
安装 CookieCloud 服务
步骤 1:安装浏览器插件
步骤 2:部署服务端
创建 docker-compose.yml:
version: '3'
services:
cookiecloud:
image: easychen/cookiecloud:latest
container_name: cookiecloud-app
restart: always
ports:
- '8088:8088'
volumes:
- ./data:/data/api/data📖 参考:CookieCloud GitHub
MoviePilot 配置
配置路径:设定 → 服务 → 站点
浏览器插件设置
✅ 设置完成后:先在插件端保存并同步,然后到 MoviePilot 的"同步 CookieCloud 站点"执行同步。
7. 过滤与优先级规则
⚠️ 注意:以下规则仅供参考,理解其优先级逻辑才能调试出最符合自己需求的规则。
自定义规则(过滤器)
将以下 JSON 数组复制到"自定义规则"中:
[
{"id":"Complete","name":"完结","include":"(全|共)\\d+(集|期)|完结|合集|Complete","exclude":""},
{"id":"filterGlobal","name":"全局过滤","include":"","exclude":"(?i)日语无字|先行|MiniBD|DIY原盘|iPad|UPSCALE|AV1|BDMV|RMVB|CAMRip|DVD|vcd|480p|OPUS"},
{"id":"filerGroup","name":"组过滤","include":"","exclude":"(?i)SubsPlease|Up to 21°C|VARYG|TELESYNC|NTb|sGnb|BHYS|HDSWEB|DBD|HDH|COLLECTiVE|SRVFI|YTS.MX|HDSPad"},
{"id":"filterMovie","name":"电影体积过滤","include":"","exclude":"","size_range":"0-1000000"},
{"id":"filterSeries","name":"剧集体积过滤","include":"","exclude":"","size_range":"0-10240"},
{"id":"Crunchyroll","name":"CR源","include":"CR|Crunchyroll","exclude":""},
{"id":"Netflix","name":"NF源","include":"Netflix|NF","exclude":""},
{"id":"AMZN","name":"AMZN源","include":"AMZN|Amazon","exclude":""},
{"id":"HQ","name":"高码","include":"HQ|高码|EDR","exclude":""},
{"id":"DVP8","name":"杜比P8","exclude":"^(?!.*HDR).*(DV|dovi|DoVi)"},
{"id":"DDP","name":"杜比音轨","include":"DDP|DD+","exclude":""},
{"id":"WhiteList","name":"白名单","include":"\\b(Oldboys|GTR|RO|Telesto|CatEDU|PbK|Rainbaby|Ao|BMDru|c0kE|cfandora|jsum|RNML|FraMeSToR|ADE|CHD|CMCT|Sunny|WiKi|PTer|MTeam|FRDS|UBits|FROGE|beAst|Dream|BeiTai|RLeaves|R²|PTH|HDChina|LHD|ZONE|btshd|ADWeb|HHWEB|CHDWEB|CMCTV|TJUPT|OurTV|PTerWEB|MWeb|UBWEB|FROGWeb|QHstudIo|DBTV|RLWeb|LeagueWEB|HDCTV|ZWEX|ZmWeb|Kitsune|NTb|playWEB|BYNDR|FLUX|ETHEL|EDITH|VARYG|HONE|YingWEB|OPS|AilMWeb|ARiC|喵萌奶茶屋|豌豆字幕组|爱恋字幕社|漫猫字幕社|北宇治字幕组|云光字幕组|织梦字幕组|千夏字幕组|极影字幕社|风之圣殿字幕组|风车字幕组|银色子弹字幕组|熔岩动画|MingYSub|枫叶字幕组|诸神字幕组|AKito|秋人|霜庭云花Sub|轻之国度字幕组|星空字幕组|离谱Sub|雪飘工作室|拨雪寻春|新Sub|MCE汉化组|極彩字幕组|氢气烤肉架|悠哈璃羽字幕社|桜都字幕组|SweetSub|LoliHouse|&VCB-Studio|VCB-Studio&|7³ACG|幻之字幕组|魔穗字幕组|澄空学园|LittleBakas!|白恋字幕组|动漫国字幕组|FSD字幕组|FSD粉羽社|一只出格君|猫恋汉化组|OPFans枫雪动漫|GM-Team|康复重症监护室字幕组|SilverBullet|APTX4869|幻樱字幕组|永恒译制|咪梦字幕组|NEO·QSW)\\b"},
{"id":"PreferenceGroup","name":"优先组","include":"ADWeb|HHWEb|FROGWeb|ADE|FROGE"}
]优先级规则组
将以下 JSON 数组复制到"优先级规则组"中。规则按顺序从上到下优先级降低。
[
{"name":"前置过滤","rule_string":"filterGlobal& !BLU & !3D &WhiteList&DVP8","media_type":"","category":""},
{"name":"动画电影","rule_string":" SPECSUB & 4K & BLURAY & H265 &filterMovie> CNSUB & 4K & BLURAY & H265 &filterMovie> CNSUB & 4K & BLURAY &filterMovie> CNSUB & 1080P & BLURAY &filterMovie> CNSUB & 4K &filterMovie> CNSUB & 1080P &filterMovie","media_type":"电影","category":"动画电影"},
{"name":"华语电影","rule_string":" 4K & BLURAY & H265 > 1080P & BLURAY > 4K &HQ&DDP> 4K &HQ> 4K > 1080P ","media_type":"电影","category":"华语电影"},
{"name":"外语电影","rule_string":" SPECSUB & 4K & UHD & H265 & DOLBY &filterMovie> SPECSUB & 4K & UHD & H265 &filterMovie> SPECSUB & 1080P & BLURAY &filterMovie> CNSUB & 1080P & BLURAY &filterMovie> SPECSUB & 4K & WEBDL & DOLBY &filterMovie> CNSUB & 4K & WEBDL & DOLBY &filterMovie> SPECSUB & 1080P & WEBDL &filterMovie> CNSUB & 1080P & WEBDL &filterMovie> CNSUB &filterMovie","media_type":"电影","category":"外语电影"},
{"name":"日番","rule_string":" BLURAY & H265 &PreferenceGroup& 1080P > BLURAY & H265 & CNSUB & 1080P > BLURAY & CNSUB & 1080P > WEBDL &PreferenceGroup& 1080P &Crunchyroll> WEBDL &PreferenceGroup& 1080P &AMZN>PreferenceGroup&Netflix& 1080P & WEBDL > WEBDL &PreferenceGroup& 1080P > 1080P & CNSUB > CNSUB ","media_type":"电视剧","category":"日番"},
{"name":"欧美漫","rule_string":" BLURAY & H265 & CNSUB > BLURAY & CNSUB > WEBDL & CNSUB > CNSUB ","media_type":"电视剧","category":"欧美漫"},
{"name":"国漫","rule_string":" 4K &PreferenceGroup&DDP> 4K &PreferenceGroup> 1080P &PreferenceGroup> 4K > 1080P > 720P ","media_type":"电视剧","category":"国漫"},
{"name":"纪录片","rule_string":" 4K & BLURAY > 1080P & BLURAY > 4K > 1080P ","media_type":"电视剧","category":"纪录片"},
{"name":"综艺","rule_string":" 4K &PreferenceGroup&Complete> 4K &PreferenceGroup> 1080P &PreferenceGroup> 1080P ","media_type":"电视剧","category":"综艺"},
{"name":"国产剧","rule_string":" 4K & UHD > 1080P & BLURAY > 4K & WEBDL &HQ&PreferenceGroup&filterSeries> 4K & WEBDL & HDR &PreferenceGroup> 4K & WEBDL &PreferenceGroup> 4K & WEBDL > 1080P & WEBDL > 4K > 1080P ","media_type":"电视剧","category":"国产剧"},
{"name":"欧美剧","rule_string":" 4K & BLURAY & SPECSUB &filterSeries> 4K & BLURAY & CNSUB &filterSeries> 1080P & BLURAY & SPECSUB &filterSeries> 1080P & BLURAY &filterSeries& CNSUB > 4K & CNSUB &filterSeries> 1080P & CNSUB &filterSeries> CNSUB &filterSeries","media_type":"电视剧","category":"欧美剧"},
{"name":"日韩剧","rule_string":" SPECSUB & 1080P & BLURAY &filterSeries> CNSUB & 1080P &filterSeries& BLURAY > 1080P & CNSUB &filterSeries> CNSUB &filterSeries","media_type":"电视剧","category":"日韩剧"},
{"name":"现场","rule_string":" CNSUB & 4K > CNSUB & 1080P > 4K > 1080P > !720P ","media_type":"电影","category":"现场"}
]规则更新日志
8. 词表与识别
自定义识别词
[Movie]
AnimeF@ADE => ADE
AnimeF@ADWeb => ADWeb
episode\.\d{1}
DTS-HDMA5.1 => DTS-HD.MA5.1
\.(第\d{1,2}集)\. => \1
(?<=(VCB-Studio|ANi).*?)(?i)Season( *)0?(\d+) => S\2
(?<=SBSUB.*DR.*?)- => part
[CHS_CHT_JP]\(\w{8}\)
[CHT_JP]\(\w{8}\)
[CHS_JP]\(\w{8}\)
[SBSUB][CONAN][DR => [银色子弹字幕组][名侦探柯南][S01E
[SBSUB][CONAN][ => [银色子弹字幕组][名侦探柯南][S01E
chs&jpn => jpsc
cht&jpn => jptc
(?<=(VCB-Studio|ANi).*?)2nd Season => S02
(?<=(VCB-Studio|ANi).*?)IV => S04
(?<=(VCB-Studio|ANi).*?)III => S03
(?<=(VCB-Studio|ANi).*?)II => S02
(?<=VCB-Studio.*?)\(\d{2}\)
[【\[](Fin|END)[】\]]|(?:|\s|\s-\s)(Fin|END)(?=\])|(?<=\d{1,2})_?(Fin|END)
(?<=[\[【].*?(?:组|組|sub|S(?:UB|ub|tudio)|Raw(?:|s)|社)[\]】])(?:(?:\[|【|★|)\d{1,2}月新番(?:\]|】|★|)|)[\[【](.*?)[\]】] => \1
(?i)(CHS|GB|SC)(&|_|&|\x20)(CHT|BIG5|TC)(&|_|&|\x20)JA?PN? => 简繁日内封
(?i)(CHS|GB|SC)_JA?PN?(&|&|\x20)(CHT|BIG5|TC)_JA?PN? => 简繁日内封
(?i)(CHS|GB|SC)(&|&|\x20)(CHT|BIG5|TC) => 简繁内封
(?i)(CHS|GB|SC)(_|&|&|\x20)JA?PN? => 简日双语
(?i)\[JA?PN?(_|&|&|\x20)?(SC|CHS|GB)\] => [简日双语]
(.*)(VCB-Studio)(.*)(Ma10p_?|Hi10p_?)(.*) => \1\2\3\5
S(eason)? ?0?([2-9]) *\[(OVA|OAD)0?\(?(\d)?\)?\] => S0E\2\4
(S(eason)? ?0?1 *)?\[(OVA|OAD)(\d+)?\] => S0E\4
(S(eason)? ?\d+)? *\[\d+\(?(OVA|OAD)\)?\] => S0
(?<=[\W_])4(?:k|K)(?=[\W_]) => 2160p
(?i)\bSBSUB\b => 银色子弹字幕组
(?i)\bNekomoe kisstan\b => 喵萌奶茶屋
(?i)\bOPFansMaplesnow\b => OPFans枫雪动漫
(?i)\bSakurato\b|樱都字幕组|桜都字幕组|桜都 => 桜都字幕组
(?i)\bHaruhana\b => ❀拨雪寻春❀
(?<=S\d{2}E\d{2}).+(?=(2160|1080)p.+(NTb|FLUX)) =>自定义制作组/字幕组
喵萌奶茶屋
银色子弹字幕组
AI-Raws
SweetSub
LoliHouse
VCB-Studio
7³ACG
Snow-Raws
NTb
FLUX
RLWeb
Breeze@Sunny
Rain@Sunny
RLeaves
Nest
MWeb
UBWEB
FROGWEB
Fusae
FLUX自定义占位符
\b(简繁内封|简繁日内封|简繁日英内封|简繁官字内封|官简内封|简日双语|简体内封|简体内嵌|繁体内嵌|简英双语|简繁外挂|简体)\b文件整理屏蔽词
__\w{6}/
\[((TV|BD|\bBlu-ray\b)?\s*CM\s*\d{2,3})\]
\[Teaser.*?\]
\[PV.*?\]
#\[\d{2}.\d\]
\[NC[OPED]+.*?\]
\[S\d+\s+Recap(\s+\d+)?\]
\b(CDs|SPs|Scans|Preview|EXTRA|ScreenShot|Menu|Bonus|映像特典|映像|Special Ending Movie|specials|特典CD|Menu|Logo|Preview|WiKi.sample|UHD.SAMPLE|/mv)\b
\b(NC)?(Disc|片头|OP|OVA|OAD|ED|Advice|Trailer|BDMenu|片尾|PV|CM|Preview|MENU|Info|EDPV|SongSpot|BDSpot)(\d{0,2}|_ALL)\b
名侦探柯南特典合集|名侦探柯南剧场版22周年合集|名侦探柯南真人版|系列合集|特别篇合集|加更9. 如何自己编写识别词
📌 示例文件名:
一念永恒.Yi.Nian.Yong.Heng.S03E10.2024.2160p.WEB-DL.H265.DDP2.0
问题一:季号不匹配
TMDB 上该片为第一季,但站点种子标识为第三季,导致无法识别。

解决方法:
到 TMDB 查找剧集词条
找到实际第三季内容在 TMDB 上对应的起始集数(本例为第 107 集)
按格式编写识别词,进行季号转换和集数偏移:
Yi.Nian.Yong.Heng.S03E => Yi.Nian.Yong.Heng.S01E && S01E <> 2024 >> EP+106💡 格式说明:
被替换词 => 替换词 && 前定位词 <> 后定位词 >> 集偏移量(EP)
问题二:年份不匹配
重新搜索时发现年份不符(此问题多出现于 Yi Nian Yong Heng S03E04 2024 这类年份在集数后的命名)。

解决方法:
查找该片最早发行年份(本例为 2020 年)
编写识别词修正年份:
(?<=Yi.Nian.Yong.Heng.S03.*?)2024 => 2020组合解决方案
识别词按顺序从上到下执行。因此,需要先修正年份,再转换季号。
步骤 1:先执行年份修正
(?<=Yi.Nian.Yong.Heng.S03.*?)2024 => 2020执行后,文件名变为:一念永恒.Yi.Nian.Yong.Heng.S03E10.2020.2160p.WEB-DL.H265.DDP2.0
步骤 2:再执行季号转换(需适配修正后的年份)
Yi.Nian.Yong.Heng.S03E => Yi.Nian.Yong.Heng.S01E && S01E <> 2020 >> EP+106最终组合的识别词:
(?<=Yi.Nian.Yong.Heng.S03.*?)2024 => 2020
Yi.Nian.Yong.Heng.S03E => Yi.Nian.Yong.Heng.S01E && S01E <> 2020 >> EP+106

📺 使用与订阅
基础设置
配置路径:设定 → 基础
订阅站点
配置路径:设定 → 站点
在此选择订阅影片时将会检索的站点。
订阅运行流程
┌─────────────────┐
│ 用户订阅影片 │
└────────┬────────┘
▼
┌─────────────────┐ ┌─────────────────┐
│ 执行站点搜索 │────▶│ 补齐未下载集数 │
└────────┬────────┘ └─────────────────┘
▼
┌─────────────────┐ ┌─────────────────┐
│ 自动爬取站点/RSS │────▶│ 获取新种子 │
└────────┬────────┘ └─────────────────┘
▼
┌─────────────────┐ ┌─────────────────┐
│ 识别匹配影片 │────▶│ 根据规则下载 │
└─────────────────┘ └─────────────────┘🔔 通知
关于通知服务的详细配置,请参考 官方 Wiki - 通知配置。