自动化观影平台MoviePilot安装与使用

date
Nov 17, 2023
slug
movie-pilot-install-and-guide
status
Published
tags
Linux
影音
summary
包含MoviePilot 的Nas/Linux部署安装指南、插件使用、配置优化等。
type
Post
MoviePilot 是NasTools作者的新项目,是一款Nas媒体库自动化管理工具,仅用于学习交流使用,请勿在国内的平台宣传此项目。
notion image
由于MoviePilot的部署依赖多个服务,以及相关的基础知识,需要一定的技术。在安装之前,默认你已经掌握或了解以下的内容
  • Docker
    • 安装及基础的指令使用
    • Docker-compose 安装和使用
  • Linux 下的相关知识和指令操作
    • UID id -u
    • PID id -g
    • 查看端口占用命令 lsof -i:<port>
    • 软链接、硬链接
    • Cron表达式
    • 查看主机IP ifconfig
  • PT 下载器
    • qbittorrent
    • transmission
  • 媒体服务器
    • emby
    • plex
    • jellyfin

安装

我的黑群晖是7.2+版本,使用群晖套件中的Container Manager 进行Moviepilot 的部署。Linux环境下下自行安装Docker进行安装,主要流程基本一致,仅个别参数的调整,默认是Nas环境下安装。

获取UID GID

ssh 进nas ,输入 id -u id -g 分别获取UID GID,一般来说Nas管理用户默认如下
  • UID=1026
  • GID=100

目录预创建

💡
提前创建好MoviePilot及插件所需的一些文件目录及文件目录的权限,我这边在Nas第一块盘中创建了一个共享文件夹MoviePilot,绝对路径为/volume1/MoviePilot 如果是Linux机器,直接找个目录下创建文件夹即可如 /mnt/MoviePilot

1. MoviePilot目录

💡
需要设置三个目录,存放配置和core数据,以及媒体数据
在MoviePilot 目录下新建如下的目录结构
  • /volume1/MoviePilot/moviepilot/config → config 信息
  • /volume1/MoviePilot/moviepilot/core → 核心数据
  • /volume1/MoviePilot/media → 媒体数据(文件硬链接目录)

2. QBitTorrent 目录

💡
需要设置两个目录,一个用来映射下载目录,一个用来映射QBitTorrent 的配置
在MoviePilot 目录下新建如下的目录结构
  • /volume1/MoviePilot/qbittorrent → config信息
  • /volume1/MoviePilot/media/downloads → 下载数据

3. Emby 目录

💡
需要设置两个目录,一个映射媒体数据,一个映射配置目录
在MoviePilot 目录下新建如下的目录结构
  • /volume1/MoviePilot/emby → config信息
  • /volume1/MoviePilot/media → 媒体数据(文件硬链接目录)

依赖安装

💡
依赖项有Container Manager / Docker 、 CookieCloud 、Emby(推荐)/ Plex / Jellyfin 、QbitTorrent(推荐) / Transmission

1. Docker安装

  • 如果是群晖系统直接在套件中心中下载 Container Manager

2. 安装CookieCloud

💡
CookieCloud是一个和自架服务器同步Cookie的小工具,可以将浏览器的Cookie及Local storage同步到手机和云端,它支持端对端加密,可设定同步时间间隔。主要用来同步各大PT站点的cookie信息供MoviePilot自动同步导入使用。
【Container Manager】
注册表→ cookiecloud 下载服务端
notion image
下载镜像完成后创建一个容器,设置如下内容后启动即可
  • 容器名称 随意填写,或者使用默认值
  • 勾选 启用自动重新启动
  • 端口设置-本地端口 设置为 8088, cookieCloud默认占用8088端口,如果你的其他服务已经占用了,请修改成其他未被占用的端口
【Docker安装】
运行以下命令
【测试是否安装成功】
打开 http://<nas-ip>:8088 出现hello world 提示即安装服务端成功
【安装浏览器插件】
注意需要登录你的PT站点,一定要先登录上,否则后续MoviePilot启动时可能没有站点信息。
chrome商店 下载安装插件后,进行参数配置后保存,然后手动测试是否同步成功。
  • 服务器地址 如果是局域网,填写 http://<nas-ip>:8088 ,如果有公网,则填写公网地址
  • 用户KEY 可以自定义,也可以使用默认生成的,后面会用到
  • 端对端加密密码 可以自定义,也可以使用默认生成的,后面会用到
notion image

3. 安装下载器

MoviePilot支持 QBitTorrent 与 Transmission,大家可以根据个人喜好自行选择,这里我使用QB来下载,推荐使用nevinee 封装的QBitTorrent 镜像
【Container Manager】
注册表→ nevinee →下载
notion image
下载镜像完成后创建一个容器,设置如下内容后启动即可
notion image
  • 容器名称 随意填写,或者使用默认值
  • 勾选 启用自动重新启动
  • 端口设置-本地端口 依次设置为 8080 49678
  • 存储空间设置
    • /volume1/MoviePilot/qbittorrent/data
    • /volume1/MoviePilot/media/downloads/media/downloads
  • 环境变量 设置
    • PUID 根据实际获取到的为准,填写错误有文件读写权限问题!
    • PGID 根据实际获取到的为准,填写错误有文件读写权限问题!
    • WEBUI_PORT 8080
    • QB_USERNAME admin 自定义,MoviePilot需要用到!
    • QB_PASSWORD adminadmin2023 自定义,MoviePilot需要用到!
【Docker】
docker-compose 运行下面的 composer.yml 文件
【测试】
打开 http://<nas-ip>:8080 ,输入用户名密码,能成功登录即安装成功

4. 安装媒体服务器

MovilePilot 支持 Emby、Plex 与 JellyFin,大家可以根据个人需求选择相应的媒体服务器,我个人的体验结论是:
  • Emby 提供了较好的多人分享体验,也提供了多种客户端,如 Android、iOS、macOS、Apple TV等多平台,但其在 Apple TV 端的 APP 体验截止本文书写日期仍旧比较糟糕,如需 Apple TV 使用,一般需要搭配 Infuse 使用。
  • Plex 更加注重个人观影,也提供多平台客户端,Apple TV 客户端较为完善,达到了一般流媒体平台的流畅度与观影体验。
  • JellyFin 没有过多体验,但是可以把它理解为免费开源版的 Emby,手头紧张的朋友可以选择。
我这边安装的是Emby
【Container Manager】
注册表→ emby →下载 (开心版没测试,下载的是官方版)
notion image
下载镜像完成后创建一个容器,设置如下内容后启动即可
notion image
  • 容器名称 随意填写,或者使用默认值
  • 勾选 启用自动重新启动
  • 端口设置-本地端口 依次设置为80968920119007359
  • 存储空间设置
    • /volume1/MoviePilot/emby/config
    • /volume1/MoviePilot/media/data
  • 环境变量 设置
    • PUID 根据实际获取到的为准,填写错误有文件读写权限问题!
    • PGID 根据实际获取到的为准,填写错误有文件读写权限问题!
    • TZ Asia/Shanghai
【Docker】
docker-compose 运行下面的 composer.yml 文件
【测试】
打开 http://<nas-ip>:8096 登录进入,在用户管理页面获取Emby的API Key备用!关于emby 的设置暂不在此赘述,自行搜索教程

安装MoviePilot

在依赖安装完毕后,可以正式进行本体的安装

Container Manager

注册表→ moviepilot →下载
notion image
创建一个容器,需要填写的参数和环境变量有很多,参考官方文档,建议复制后使用
  • 容器名称 随意填写,或者使用默认值
  • 勾选 启用自动重新启动
  • 端口设置-本地端口 设置为3000
  • 存储空间设置
    • /volume1/MoviePilot/moviepilot/config/config
    • /volume1/MoviePilot/moviepilot/core /moviepilot
    • /var/run/docker.sock/var/run/docker.sock 映射宿主机docker.sock文件到容器/var/run/docker.sock,以支持内建重启操作。
    • /volume1/MoviePilot/media /media
  • 环境变量 设置(key=value)
    • PUID=1026 根据实际获取到的为准,填写错误有文件读写权限问题!
    • PGID=100 根据实际获取到的为准,填写错误有文件读写权限问题!
    • UMASK=022
    • TZ=Asia/Shanghai 时区
    • MOVIEPILOT_AUTO_UPDATE=release 重启更新
    • NGINX_PORT=3000 WEB服务端口
    • SUPERUSER=xxxx 超管名,自己定义
    • SUPERUSER_PASSWORD=xxxxxx 超管密码,自定义即可
    • WALLPAPER=tmdb 登录首页电影海报,tmdb/bing,默认tmdb
    • API_TOKEN=moviepilot API密钥,在媒体服务器Webhook、微信回调等地址配置中需要加上?token=<该值>
    • PROXY_HOST= 网络代理,可选,我这边已经路由器透明代理了,不做设置
    • TMDB_API_DOMAIN=api.themoviedb.org TMDB API地址
    • DOWNLOAD_PATH=/media/downloads 下载保存目录,不要自定义
    • DOWNLOAD_MOVIE_PATH=/media/downloads/movies 电影下载目录,不要修改
    • DOWNLOAD_TV_PATH=/media/downloads/tv 电视剧下载目录,不要修改
    • DOWNLOAD_ANIME_PATH=/media/downloads/anime 动画下载目录,不要修改
    • DOWNLOAD_SUBTITLE=false 下载站点字幕
    • DOWNLOAD_CATEGORY=false 下载二级目录开关
    • DOWNLOADER_MONITOR=true 下载器监控
    • SUBSCRIBE_MODE=spider 订阅模式默认为spider
    • SUBSCRIBE_RSS_INTERVAL=30 RSS订阅模式刷新时间间隔(分钟)
    • SCRAP_METADATA=true 刮削入库的媒体文件
    • SCRAP_FOLLOW_TMDB=true 新增已入库媒体是否跟随TMDB信息变化
    • TORRENT_TAG=MOVIEPILOT 下载器种子标签
    • LIBRARY_PATH=/media 媒体库目录
    • LIBRARY_MOVIE_NAME=movies 电影媒体库目录名称
    • LIBRARY_TV_NAME=tv 电视剧媒体库目录称
    • LIBRARY_ANIME_NAME=anime 动漫媒体库目录称
    • LIBRARY_CATEGORY=false 媒体库二级分类开关
    • TRANSFER_TYPE=link 整理转移方式,支持link/copy/move/softlink/rclone_copy/rclone_move ,推荐使用硬链接
    • OVERWRITE_MODE=size 转移覆盖模式,默认为size,支持nerver/size/always/latest,分别表示不覆盖同名文件/同名文件根据文件大小覆盖(大覆盖小)/总是覆盖同名文件/仅保留最新版本,删除旧版本文件(包括非同名文件)
    • COOKIECLOUD_HOST=http://<ip>:8088 cookie cloud 服务器地址
    • COOKIECLOUD_KEY=xxx cookie cloud 浏览器插件中设置的key
    • COOKIECLOUD_PASSWORD=xxx cookie cloud 浏览器插件中设置的端对端加密秘钥
    • COOKIECLOUD_INTERVAL=20 CookieCloud同步间隔(分钟)
    • USER_AGENT=USER_AGENT=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36 CookieCloud对应的浏览器UA,可选,设置后可增加连接站点的成功率,同步站点后可以在管理界面中修改
    • SUBSCRIBE_SEARCH=false 订阅搜索,true/false,默认false
    • PLUGIN_MARKET=https://raw.githubusercontent.com/jxxghp/MoviePilot-Plugins/main/
    • MESSAGER=telegram 消息通知渠道,支持 telegram/wechat/slack/synologychat,开启多个渠道时使用,分隔。同时还需要配置对应渠道的环境变量,非对应渠道的变量可删除,推荐使用telegram。非必选项,如果不设置就不会有消息通知。
    • TELEGRAM_TOKEN=xxxx Telegram Bot Token 教程
    • TELEGRAM_CHAT_ID=xxxxx Telegram Chat ID
    • DOWNLOADER=qbittorrent 下载器,支持qbittorrent/transmission
    • QB_HOST=http://<ip>:8080 qbittorrent地址,根据你自己设置的填写
    • QB_USER=admin qbittorrent 用户名,根据你设置的填写
    • QB_PASSWORD=adminadmin2023 qbittorrent密码,根据你设置的填写
    • QB_CATEGORY=false qbittorrent分类自动管理
    • QB_SEQUENTIAL=true qbittorrent按顺序下载
    • QB_FORCE_RESUME=false qbittorrent忽略队列限制,强制继续
    • MEDIASERVER=emby 媒体服务器,支持emby/jellyfin/plex
    • EMBY_HOST=http://<ip>:8096 Emby服务器地址,,根据你设置的填写
    • EMBY_API_KEY=xxxxxxx Emby Api Key,在Emby设置->高级->API密钥处生成
    • MEDIASERVER_SYNC_INTERVAL=6
    • AUTH_SITE=hdfans 认证站点非常重要!需要填写MoviePilot支持的认证PT站点信息,完整的列表请看官方的支持,如果没有站点可以去电报群求药
    • HDFANS_UID=<站点id>
    • HDFANS_PASSKEY=<站点秘钥>
    • BIG_MEMORY_MODE=false 大内存模式
    • MOVIE_RENAME_FORMAT={{title}}{% if year %} ({{year}}){% endif %}/{{title}}{% if year %} ({{year}}){% endif %}{% if part %}-{{part}}{% endif %}{% if videoFormat %} - {{videoFormat}}{% endif %}{{fileExt}} 电影重命名格式
    • TV_RENAME_FORMAT={{title}}{% if year %} ({{year}}){% endif %}/Season {{season}}/{{title}} - {{season_episode}}{% if part %}-{{part}}{% endif %}{% if episode %} - 第 {{episode}} 集{% endif %}{{fileExt}} 电视剧重命名格式

Docker

docker-compose 运行下面的 composer.yml 文件,注意调整参数!
【测试】
打开 http://<nas-ip>:3000 登录进入
notion image

插件推荐和配置

在安装MoviePilot 后,推荐进行以下设置能够更加的好用

内网穿透

如果你是在服务器上部署的自然就不用考虑这个问题,但是大部分用户都没有公网IP,这里推荐使用cloudflare zero trust 去设置隧道,这样不在家中也能够远程进入MoviePilot。
cloudflare tunnel 设置见此文

菜单配置优化

系统
  • 设定-站点-下载优先规则 设置为做种数优先
  • 设定-搜索-搜索站点 建议勾选所有站点,以确保最大程度搜索到你要的资源
  • 设定-搜索-搜索优先级 建议选上 排除:蓝光原盘 排除:3D
  • 设定-订阅-订阅站点 建议勾选上你经常使用的几个站点
  • 站点管理 可以手动添加站点,没有cookieCloud 同步站点方便

插件推荐

默认是不安装插件的,需要手动安装,建议安装以下插件并打开通知
  • 站点数据统计
    • 可以更改默认的时间,我修改为了5 9 * * * 表示每天上午 9 点 5 分执行一次
  • 豆瓣想看
    • 执行周期我修改成了 */10 * * * * 表示每10分钟执行一次
    • 用户列表我填写了自己的ID,这样我只要在豆瓣上标记了想看的影视,MoviePilot 会帮我定时自动下载
  • 媒体库削刮
    • 补齐缺失的元数据
  • 豆瓣榜单
    • 自动订阅下载榜单中的影视
  • 媒体服务器通知
    • 设置新入库提醒,开启后,在emby-webhook 中填写moviepilot 的回调地址 http://<ip>:3000/api/v1/webhook?token=moviepilot
  • 媒体库服务器刷新
    • 入库后刷新媒体服务器海报墙
  • 自动备份
    • 鉴于有时候MoviePilot不稳定,还是开启了好
  • 演职人员刮削
    • 中文名称和图片
  • MoviePilot 更新推送
  • 播放限速
  • 目录监控
    • 可以用来整理非MoviePilot下载的资源,比如说移动硬盘上的资源

参考链接

  • 支持的下载站点有
    • Nyaa、TorrentGalaxy、ACG.RIP、MiKan、动漫花园、EZTV、北邮人、白兔、我堡、海棠、梓喵、聆音、库非、红叶PT、UBits、高清杜比、朋友、大青虫、铂金家、空间、艾薇、铂金学院、猪猪、小蚂蚁、织梦、OshenPT、冬樱、憨憨、CARPT、丐帮、熊猫高清、咖啡、iHDBits、百川、蝶粉、FileList、好多油、PT时间、ultrahd、HDVIDEO、朱雀、北洋园、明教、兽站、JPTV、彩虹岛、老师、家园、莫妮卡、1PTBA、听听歌、学校、CinemaGeddon、TorrentLeech、天空、52pt、IPT、城市、葡萄、红豆饭、南洋、Uploads、伊甸园、备胎、打胶、馒头、吐鲁番、高清时间、2xFree、春天、观众、皇后、龙之家、瓷器、蝴蝶、幼儿园、阿童木、自由农场、高清视界、开心、他吹吹风、冰淇淋、天雪、烧包乐园、Rousi、OKPT、猫站、PTLSP、梓喵、象站、AGSVPT、星空
🔥热心网友整理的MoviePilot安装和使用指引,可供参考:
 

© hack-fang 1995 - 2024