先说结论
MoviePilot 解决的是一件很具体的事:让「想看的片子」自动出现在你的媒体库里,中间不用你手动搜种、挑清晰度、改文件名、再点一次扫描。
但它不是装完就完事的东西。它自己不下片、自己也不播放,只负责在中间调度。所以它值不值得装,取决于你手上是否已经凑齐了另外三样东西——这也正是很多人装完之后觉得"没什么用"的原因。
| 你的情况 | 建议 |
|---|---|
| 有 NAS 或常开的 Linux 主机,装着 qBittorrent / Transmission,用 Jellyfin 或 Emby 看片 | 值得装,这是它的主场景 |
| 只是偶尔下几部电影,看完就删 | 别装,手工更快 |
| 没有媒体服务器,习惯直接双击文件播放 | 先解决播放端,再用它 |
| 想让 NAS 自动追更连载剧 | 值得装,这是它最省心的地方 |
下面先说清楚它管哪一段,再说装之前要准备什么。
它替代的是哪一步
把一部剧从"想看"到"能在电视上点开",中间有五步。这几个工具各管一段,互相不重叠:
| 环节 | 谁来做 | 说明 |
|---|---|---|
| 发现与订阅 | MoviePilot | 按元数据搜索资源,建立订阅,自动追更 |
| 下载 | qBittorrent / Transmission | MoviePilot 把任务丢给它,不自己下 |
| 识别与改名 | MoviePilot | 下载完成后识别媒体信息,按规则重命名 |
| 整理入库 | MoviePilot | 移动或硬链接进媒体库目录 |
| 播放 | Jellyfin / Emby / Plex | MoviePilot 只负责通知它刷新 |
所以它是"中间层"。少了上面任何一端,中间这层就没有活干。少了下载器,它搜到资源也没处放;少了媒体服务器,整理好的文件只能靠文件夹浏览。
和 Sonarr / Radarr 的区别也在这:那两个是分开的电影、剧集各一套,配置项多、规则细;MoviePilot 把电影、剧集、V3 起的音乐放在同一个面板里,对国内站点和中文元数据的适配更直接。选哪个不是对错问题,看你更愿意花时间在规则上还是更想要开箱可用。
三个前提
一、一台常开的主机
订阅的意义在于"没人看着的时候它也在跑"。主机每天关机,订阅就只能在你开机时补,追更体验会打折。
NAS、软路由、常开的小主机都行;家里没有的话,一台 1GB 内存以上的 VPS 也能跑,媒体库放对象存储或干脆只做整理不长期留档。实测容器本身占用不高,配置压力主要在浏览器内核和插件上,站点加得多、插件装得满,就要多留内存。
二、已经在用的下载器
MoviePilot 不自带下载能力。装之前先确认 qBittorrent、Transmission 里已经有能用的站点配置,并且下载目录是固定的——这一点在下一节会变成关键。
三、一个媒体服务器
Jellyfin、Emby、Plex 任选。MoviePilot 在整理完成后调用它们的刷新接口,让新文件立刻出现在海报墙上。没有这一步,整理只是把文件挪了个位置。
这三样都齐了,再往下装。
实测:一条命令起在 13300
本文用的镜像是官方 V3 分支 jxxghp/moviepilot-v3,标签 3.2.5(2026-11-06 发布),Ubuntu 24.04 实测通过,amd64 与 arm64 都有。
docker pull docker.xuanyuan.run/jxxghp/moviepilot-v3:3.2.5
镜像详情:https://xuanyuan.cloud/r/jxxghp/moviepilot-v3?xy_from=moviepilot-v3-nas
单容器就够,内建 SQLite 与本地缓存,不用另起 PostgreSQL、Redis,也不必映射 Docker Socket。工作目录我放在 /www/wwwroot/moviepilot-v3(NAS 上换成一个固定目录即可):
sudo mkdir -p /www/wwwroot/moviepilot-v3/{config,core,media/downloads,media/library}
cd /www/wwwroot/moviepilot-v3
compose.yaml 只需要记住三个挂载点:
services:
moviepilot:
image: docker.xuanyuan.run/jxxghp/moviepilot-v3:3.2.5
container_name: moviepilot-v3
ports:
- "13300:3000" # Web
- "13301:3001" # API
volumes:
- ./config:/config # 配置与数据库,必须备份
- ./core:/moviepilot/.cloakbrowser # 浏览器内核缓存,不挂会重复下载
- ./media:/media # 媒体根目录
environment:
- NGINX_PORT=3000
- PORT=3001
- PUID=0
- PGID=0
- UMASK=000
- TZ=Asia/Shanghai
restart: always
stop_grace_period: 120s
两点值得单独说:宿主机侧用 13300 是为了避开常被占用的 3000,容器里的 NGINX_PORT 仍然是 3000,不要跟着改;stop_grace_period 给到 120 秒,是因为 V3 停止时要收尾后台任务和插件,时间太短会被强杀。
docker compose up -d
docker compose ps
看到 Up (health: starting) 就可以打开浏览器了:http://主机IP:13300。

V3 没有默认账号,第一次打开直接进「首次设置」:建管理员用户名、设密码、点「生成」拿到 API 访问密钥。密码要 6~50 位并含字母、数字、特殊符号中的至少两类——不满足的话点保存会失败,日志里是 POST /api/v1/login/initialization 422,页面只提示「初始化失败」,很容易误判成容器挂了。

最容易踩的两个坑
硬链接要求同一个根
想让整理"瞬间完成、不占双份空间",整理方式就会走硬链接。硬链接的前提是源和目标在同一个文件系统里,落到 Docker 上就是两条约束:
- 下载目录与媒体库目录在容器内必须是同一个挂载点下的两个子目录,比如
/media/downloads和/media/library - 下载器容器必须挂到同一台宿主机目录
只要其中一条不成立,整理就退化成复制:慢,而且同一部片在磁盘上存两份。
在「设定 → 存储 & 目录」里加目录时,两个目录都指向 /media 下的子路径,整理 & 刮削里确认命名规则,基本就不会错。

顺带一个 NAS 上的常见误区:把下载目录放在 SSD 缓存盘、媒体库放在机械盘阵列,这本身就是两个文件系统,硬链接不可能成立。要么统一放到阵列上,要么接受复制。
从 V2 升到 V3 不是重启能解决的
V3 是一个新镜像(jxxghp/moviepilot-v3),不是 V2 的补丁。升级要把 Compose 里的镜像名换掉,再 pull + --force-recreate 重建容器,/config 沿用原来的映射。
而且这一步是单向的:V3 启动时会把数据库升到新结构,换回 V2 镜像起不来。升级前先 docker compose stop 再 tar 一份 config,比事后找降级文档省事得多。
常见问题
装了之后什么都没发生,是不是坏了
先看仪表盘的数据是不是全 0。下载器没配、目录没加、站点没认证时,它确实什么都不会做。这三件事在「设定」里补齐之后,订一个正在连载的剧试一下,最快能看出链路通没通。
一定要公网 IP 吗
不需要。局域网访问就够用,MoviePilot 不需要从外网被访问。要远程看片,走组网或反向代理,管理端口别直接暴露到公网。
需要多大的内存和硬盘
容器本身占用不高,1GB 可用内存能跑起来;真正吃资源的是浏览器内核与插件,站点越多、插件越全越要留余量。硬盘看媒体库规模,镜像本身约 700MB 量级。
会不会把我下载的片子删掉
不会。它只做识别、重命名和整理,删除行为由你在设置里显式勾选的规则决定,默认不会删源文件。第一次用建议先用一个空目录试跑,确认整理结果符合预期再指向真实媒体库。
支持音乐吗
V3 起支持,电影、电视剧、音乐在同一个面板里管理。
怎么备份
停容器,打包 config 目录就是全部状态;core 建议保留(浏览器内核缓存),media 按你自己的磁盘策略备份。
cd /www/wwwroot/moviepilot-v3
docker compose stop
tar -czf moviepilot-v3-config-backup.tar.gz config
docker compose start
写在最后
MoviePilot 不是那种装完就有惊喜的工具,它的价值建立在"你已经有一套下载器和媒体服务器"之上。反过来说,如果你正好卡在"每集都要手动搜一次"的阶段,它确实能把这个环节彻底拿掉。
判断标准可以简单一点:过去一个月你有没有为了追某部剧手动搜过三次以上资源。有,就值得装;没有,就先别折腾。
延伸阅读
实测环境:Ubuntu 24.04,镜像 jxxghp/moviepilot-v3:3.2.5。