告别手动找片,我用MoviePilot搭了套自动追剧系统,新剧更新自己下好了

告别手动找片,我用MoviePilot搭了套自动追剧系统,新剧更新自己下好了

前言

折腾NAS快三年了,从最初的单纯存照片存文件,到现在31个Docker容器跑了二十多天没重启过。中间踩过无数坑,删过无数次容器重来,总算摸索出了一套稳定的方案。

今天想分享的是这套方案的核心——自动追剧系统。简单说就是:你在MoviePilot里订阅想看的剧,有新资源它自动搜索、自动下载、自动整理到对应文件夹、自动刮削海报和简介,最后打开Emby就能直接看。

整个过程不需要你干预,跟Netflix差不多。

先说下我的环境:Unraid系统,一台N100小主机。不过方案不挑系统,群晖、威联通、飞牛、绿联都能跑,只要是Docker环境就行。

MoviePilot仪表盘

第一步:部署下载器 qBittorrent

先装下载器,后面MoviePilot要调用它来下载资源。

在Unraid的Docker标签页,添加容器,镜像填 hotio/qbittorrent:release-4.3.9,我用的是这个版本比较稳定。

网络模式选host,因为BT下载需要大量端口映射,用host模式最省事。如果你用的是群晖之类的bridge网络也行,记得把6881的TCP和UDP端口都映射出来,不然下载速度会很慢。这个坑我踩过,一开始只映射了TCP,速度慢到怀疑人生。

目录挂载两个:config目录存配置,媒体目录挂载到你的影视文件夹。

PUID和PGID根据你的系统来,Unraid填0就行,群晖一般是你的用户ID,可以在终端用 id 命令查看。

容器跑起来后,浏览器打开 http://你的NAS IP:8080,默认账号admin,第一次登录会让你设置密码。

进去之后建议先改几个设置:Settings → BitTorrent → 勾选”Automatically add these torrents to…”,把默认保存路径设成你挂载的那个下载目录。这样后面MoviePilot推过来的种子就会自动存到正确的位置。

第二步:部署 MoviePilot

这是整套方案的核心,负责搜索资源、调度下载、整理文件。

镜像用 hubp.de/jxxghp/moviepilot-v2:latest,同样建议用host网络模式,因为MoviePilot内部要访问很多服务,host模式最省心。

环境变量比较多,说几个关键的:

SUPERUSER 填你想用的管理员用户名。DB_TYPE 填 postgresql,MoviePilot用PostgreSQL存数据比SQLite稳定太多了,我之前用SQLite跑了一段时间数据库文件莫名其妙就坏了。DB_POSTGRESQL_HOST 填你PostgreSQL的地址,如果你不想单独部署PostgreSQL,也可以用sqlite模式,够用但不如PG稳。

如果你有代理(Clash、v2ray之类设了局域网共享),ALL_PROXY 填上代理地址,比如 http://192.168.1.1:7890。这个很重要,MoviePilot要访问TMDB、PT站这些外部服务,没有代理的话刮削会失败,搜出来的资源也少很多。

目录挂载建议直接挂载整个用户目录,比如 /mnt/user:/mnt/user,这样MoviePilot可以自由操作所有子目录。config单独挂一个就行。

还有一个目录是playwright的缓存,MoviePilot有些功能(比如豆瓣登录截图验证)会用到浏览器内核,不挂这个目录的话每次启动都要重新下载浏览器,会慢不少。

容器跑起来后,打开 http://你的NAS IP:3005,用你设置的管理员账号登录。

MoviePilot电影管理

MoviePilot 初始配置

登录后先去”基础设置”里把媒体库目录配好:

  • 下载目录:指向qBittorrent的下载文件夹
  • 电影目录:比如 /mnt/user/电影
  • 电视剧目录:比如 /mnt/user/电视剧
  • 动漫目录:比如 /mnt/user/动漫

注意这些目录一定要和后面Emby的媒体库目录一致,不然MoviePilot整理好的文件Emby扫不到。这个坑我犯过一次,配完发现Emby怎么扫都扫不出来,折腾了半天才意识到是两边目录没对上。

然后配置下载器:在下载器设置里添加qBittorrent,地址填 http://localhost:8080(因为你用的host网络),填上刚才设的用户名密码,点测试连接,成功就OK了。

如果你有PT站账号,可以在站点设置里添加,支持的站点挺多的,我加了几个常用的就够用了。没有PT站也没关系,MoviePilot也支持通过内置索引器搜索资源,就是资源质量和更新速度会差一些。

最后配一下通知,我用的企业微信机器人,设置一个Webhook就行。这样下载完成、整理完成都会推送消息到你手机上,挺方便的。Telegram和飞书也支持。

到这里其实已经能用了。去”资源搜索”里搜一部电影试试,搜到之后点下载,qBittorrent会自动开始下载,下载完了MoviePilot会自动整理到对应的媒体目录。

但还差一个播放端。

第三步:部署 Emby

选Emby没太多纠结,客户端适配做得好,手机端和电视端体验都很成熟,而且硬件转码能力强。我家上行带宽一般的时候,手机远程看4K也能流畅播放。

如果你不想搞解锁版,用Jellyfin也行,完全免费开源,功能上差不了太多。我两个都装了,Emby主力用,Jellyfin备用。

镜像用 xinjiawei1/emby_unlockd:4.8.10.0,bridge网络就行,端口映射8096。

目录挂载把你的媒体总目录挂进去就行,Emby会自动识别下面的子目录。

HTTP_PROXYALL_PROXY 记得填上你的代理地址。Emby刮削元数据需要访问TMDB,没有代理的话会全部失败,我当时就是卡在这一步,刮了半天一个海报都没出来,后来才知道是网络问题。如果你也遇到Emby刮不出东西,先检查代理。

容器跑起来后打开 http://你的NAS IP:8096,按向导设置管理员账号、语言(选中文)、元数据语言(也选中文)。

然后添加媒体库:

  • 电影 → 指向 /mnt/user/电影
  • 电视剧 → 指向 /mnt/user/电视剧

元数据下载器选TMDB,勾上自动下载图片和元数据。之后Emby会开始扫描,等一段时间你的海报墙就出来了。

Emby媒体库

到这里整套自动追剧链路就跑通了:

在MoviePilot订阅 → 自动搜索资源 → qBittorrent下载 → 下载完自动整理到媒体目录 → Emby识别刮削 → 手机打开Emby直接看

你唯一需要做的就是:在MoviePilot里点一下”订阅”。

第四步:用 Sun-Panel 做个导航页

四个服务跑起来之后,每次要记一堆端口号确实烦。MoviePilot 3005,qBittorrent 8080,Emby 8096,虽然浏览器可以存书签,但换台设备就不方便了。

Sun-Panel就是干这个的。镜像 hslr/sun-panel:1.6.0,端口映射3002到容器的18085。

装好打开WebUI,添加应用,把MoviePilot、qBittorrent、Emby的地址和名称填进去就行。支持自定义图标,还可以把Emby设成首页内嵌,打开导航页直接就是海报墙。

建议给Sun-Panel设上登录密码,不然局域网里谁都能看到你所有的服务入口。

踩坑总结

整理几个我踩过的主要坑,希望能帮大家少走弯路:

1. 目录要对齐。 MoviePilot的媒体目录、Emby的媒体库目录、qBittorrent的下载目录,三者必须能互相访问。最简单的做法就是所有容器都挂载同一个大的父目录,然后在下面各自操作子目录。

2. BT端口要全。 qBittorrent的监听端口TCP和UDP都要映射,只开TCP速度会非常慢。

3. 代理不能少。 MoviePilot搜资源、Emby刮削元数据,都需要能访问外网。建议用局域网共享的代理,所有容器统一配置。

4. PostgreSQL比SQLite稳。 MoviePilot默认用SQLite也能跑,但我用了一个月数据库就出问题了。换成PostgreSQL之后再也没出过事。

5. Sun-Panel记得设密码。 导航页暴露了所有服务的入口,不加密的话等于把NAS的门打开了。

最后

这套方案我跑了大半年,稳定性很好,基本不需要维护。偶尔有资源站抽风导致下载失败,MoviePilot会自动重试或者换个站点搜,大部分时候都能搞定。

如果搭的过程中遇到问题搞不定,可以私信我,我拉了个NAS折腾群,大家在里面互相帮忙,一个人查半天不如群里问一句。

什么值得买评论区也欢迎提问,我看到会回复。

觉得有用的话点个赞支持一下,后面会继续分享字幕自动匹配、网盘聚合、远程访问这些进阶内容。