因为之前的nastool事件,作者不希望在国内平台推广moviepilot相关内容,请不要转载。
搭建此功能需要有一定基础,这里默认有公网ip,知道ddns,docker搭建,Transmission/qbitorrent/jellyfin/emby/plex的使用。
2024-08-12更新
最近moviepilot有不少内容更新,包括馒头也做了框架升级,之前的版本已经不兼容了。
我在使用方式上也有了一些变化,比如不再使用docker了,jellyfin也替换为了plex。
moviepilot也推出了exe软件可供我们直接使用了,但是使用官方的exe的应用无法安装插件。
所以又弄了一个exe安装应用的方式,算是完整版的moviepilot,可以正常安装插件,去Windows-MoviePilot下载吧。
其他的我都不赘述了,提一下这个下载目录设置,使用官方exe文件可能需要在配置完成之后重启一下moviepilot应用,我在这个地方卡了很久,一直无法添加下载任务,后来重启一下应用就好了。
目前最新的moviepilot版本号
再贴一下mteam的配置方式
搭建环境
本文是在windows下使用docker来搭建的moviepilot。 使用jellyfin作为播放器,是下载的exe安装运行的。 使用docker版本的qbittorrent作为moviepilot的下载器。 还有moviepilot中的pt站点需要cookie同步,还使用到了docker版本的cookiecloud。 还有moviepilot的使用需要有pt站点来认证,所以你需要有对应的认证站点。 没有选择Transmission的原因是我本地下载的Transmission.exe文件作为下载器的话,无法正确的挂载到moviepilot中去。
另外这里的通知软件我选择了slack,个人感觉这个比较简单好用。
所以总结下来就是:
- docker版moviepilot、qbittorrent、cookiecloud
- exe应用jellyfin
- 一个支持moviepilot认证的站点hdfans
- 使用slack作为通知的key[自行获取]
如果你没有认证的站点的话可以留言附上ptpp图,我邀请你入站。
接下来我们就从最简单的开始来一步一步开始搭建吧。
安装jellyfin应用
在jellyfin官网下载Server版本的Jellyfin,并启动后在任务栏中右键设置好开机自动启动(autostart)。
关于Jellyfin的具体配置,内容也挺多的,这里就不赘述了。
安装cookiecloud
您也可以直接使用我搭建好的cookiecloud,地址:http://cookiecloud.cirry.cn
1version: '2'2services:3 cookiecloud:4 image: easychen/cookiecloud:latest5 container_name: cookiecloud-app6 restart: unless-stopped7 volumes:8 - ./data:/data/api/data9 ports:10 - 8088:8088
windows下在此文件的存放位置使用命令行运行docker compose up -d
就可以了,后续就不在赘述此运行命令了。
运行完成后需要在浏览器中下载cookiecloud
插件并进行配置。
工作模式记得要设置为上传到服务器
,如果在其他的电脑浏览器中使用此功能记得选择覆盖到浏览器。建议只有一个主浏览器用来上传cookie。
你需要登录要同步的pt站点,然后把站点的域名添加到同步域名关键词
中,一行一个网站。下面还有个Cookie保活
选项,建议填写相同的内容。
安装qbitorrent
1version: "2"2services:3 qbittorrent:4 image: linuxserver/qbittorrent5 container_name: qbittorrent6 environment:7 - TZ=Asia/Shanghai # 你的时区8 - UMASK_SET=0229 - WEBUI_PORT=8080 # 将此处修改成你欲使用的 WEB 管理平台端口10 volumes:11 - E:\qbittorrent\config:/config # 绝对路径请修改为自己的config文件夹12 - E:\qbittorrent\downloads:/downloads # 绝对路径请修改为自己的downloads文件夹13 ports:14 # 要使用的映射下载端口与内部下载端口,可保持默认,安装完成后在管理页面仍然可以改成其他端口。15 - 6881:68814 collapsed lines
16 - 6881:6881/udp17 # 此处WEB UI 目标端口与内部端口务必保证相同,见问题118 - 8080:808019 restart: unless-stopped
安装完成后,默认的登录密码是username: admin password: adminadmin
,打开8080端口可以正常登录则搭建完成。
一定要挂载config目录,config/qBittorrent/BT_backup
是下载的种子,建议备份好。
挂载的downloads
目录就是视频下载到的地址,一定需要记住这个位置,在moviepilot中需要使用到。
安装moviepilot
1version: "3"2services:3 moviepilot:4 image: jxxghp/moviepilot:1.4.45 ports:6 - 3000:3000 # web 接口7 - 3001:3001 # overseerr 接口8 restart: unless-stopped9 hostname: moviepilot10 network_mode: bridge11 volumes:12 - E:\moviepilot\main:/moviepilot #程序主目录,必选 【自行修改】13 - E:\moviepilot\config:/config #config 配置文件,必选 【自行修改】14 - E:\qbittorrent\downloads:/downloads # 记得这个路径就是上面qb设置的downloads路径 【自行修改】15 environment:60 collapsed lines
16# 基础设置17 - NGINX_PORT=300018 - PUID=019 - PGID=020 - UMASK=00021 - SUPERUSER=admin #登录账号 【自行修改】22 - SUPERUSER_PASSWORD=123456 #登录密码 【自行修改】23 - API_TOKEN=moviepilot24 - MOVIEPILOT_AUTO_UPDATE=true #重启更新25 - MOVIEPILOT_CN_UPDATE=true26 - TMDB_API_DOMAIN=api.tmdb.org27# 下载目录设置28 - DOWNLOAD_PATH=/downloads # 下载保存目录29 - DOWNLOAD_CATEGORY=false #下载二级分类开关30 - DOWNLOAD_MOVIE_PATH=/downloads/movies31 - DOWNLOAD_TV_PATH=/downloads/series32 - DOWNLOAD_ANIME_PATH=/downloads/anime33# 媒体库目录设置34# 记住一定要在downloads目录下提前新建link文件夹,比如我这里就是E:\qbittorrent\downloads下新建link文件夹,不然会整理视频失败35 - LIBRARY_PATH=/downloads/link #媒体库目录36 - LIBRARY_MOVIE_NAME=movies #电影目录名37 - LIBRARY_TV_NAME=series #电视剧目录名38 - LIBRARY_ANIME_NAME=anime # 动漫目录名39 - LIBRARY_CATEGORY=true # 媒体库自动分类功能40# 媒体库功能设置41 - DOWNLOAD_SUBTITLE=true # 下载站点字幕42 - DOWNLOADER_MONITOR=true # 下载器监控43 - TORRENT_TAG=MOVIEPILOT #种子标签44 - SCRAP_METADATA=true # 刮削入库的媒体文件45 - REFRESH_MEDIASERVER=true # 入库刷新媒体库46 - TRANSFER_TYPE=link #转移方式,支持link/copy/move/softlink47# CookieCloud设置48 - COOKIECLOUD_HOST=http://xxxxxxx.fun:30080 #CookieCloud服务器地址 必须添加 【自行修改】49 - COOKIECLOUD_KEY=a4hFJxxxxxxxxxxxxxx #cc用户KEY 【自行修改】50 - COOKIECLOUD_PASSWORD=xi7ebAMxxxxxxxxxxx #cc端对端加密密码 【自行修改】51 - COOKIECLOUD_INTERVAL=180 # CookieCloud同步间隔(分钟)52 - USER_AGENT=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36 Edg/117.0.2045.43 #CookieCloud对应的浏览器UA,可选,同步站点后可以在管理界面中修改53# 消息通知渠道54 - MESSAGER=slack #消息通知渠道【自行修改】55# slack通知56 - SLACK_OAUTH_TOKEN=xoxb-5961180479250-5954552xxxxxxxxxx #Slack Bot User OAuth Token 【自行修改】57 - SLACK_APP_TOKEN=xapp-1-A05TUKDHP7H-5963726611284-3f9768e4256exxxxxxxxxxx #Slack App-Level Token 【自行修改】58 - SLACK_CHANNEL=xxxxxxxx #频道名称,默认全体 【自行修改】59# 下载器设置60 ## qbittorrent设置项61 - DOWNLOADER=qbittorrent62 - QB_HOST=192.168.0.127:8080 # qbittorrent地址 【自行修改】63 - QB_USER=admin #qbittorrent用户名 【自行修改】64 - QB_PASSWORD=adminadmin #qbittorrent密码 【自行修改】65# 媒体服务器66 - MEDIASERVER=jellyfin67 - JELLYFIN_HOST=xxxxxxxxxx.fun:8096 #【自行修改】68 - JELLYFIN_API_KEY=36d9bdc2488xxxxxxxx # 【自行修改】69 - MEDIASERVER_SYNC_INTERVAL:6 #媒体服务器同步间隔(小时)70# 用户认证71 - AUTH_SITE=hdfans #认证站点 【自行修改】72 - HDFANS_UID=xxxxxx # 观众 ID 【自行修改】73 - HDFANS_PASSKEY=146336df899e6427xxxxxxxxx # 观众 passkey【自行修改】74# 其他设置75 - BIG_MEMORY_MODE=true #大内存模式
以上内容中,除了我特别标记出来的需要自行修改之外,其余的设置都可以使用跟我一样的配置。
这是我的qbittorrent目录的路径,如果你的moviepilot搭建失败了,大多是因为目录路径问题导致。
说明:这里使用到了硬链接,所以在/downloads/movies下的电影和/downloads/link/movies下的文件其实是一个文件,自行计算硬盘占用空间或者删除link里的视频文件就可以验证了。
至此我们的moviepilot就算搭建完成了。
[另一种安装方式]使用exe
这一种方式可以正常的使用exe方式安装的Transmission和jellyfin,完全摒弃docker,减少系统压力,但是也需要自己手动配置一些东西。
直接在这里下载MoviePilot_Win_vx.x.x.exe。
下载 MoviePilot.exe,双击运行后自动生成配置文件目录,访问:http://localhost:3000。
生成的配置文件目录如下:
步骤一
在其中的D:\moviepilot\config
目录下有一个app.env
需要修改此配置文件,具体路径位置依个人情况而定。
修改内容如下:
1#######################################################################2# 【*】为必配项,其余为选配项,选配项可以删除整项配置项或者保留配置默认值 #3#######################################################################4
5####################################6# 基础设置 #7####################################8# 【*】API监听地址9HOST=0.0.0.010# 是否调试模式,打开后将输出更多日志11DEBUG=true12# 是否开发模式,打开后后台服务将不会启动13DEV=false14# 【*】超级管理员,设置后一但重启将固化到数据库中,修改将无效15SUPERUSER=admin182 collapsed lines
16# 【*】超级管理员初始密码,设置后一但重启将固化到数据库中,修改将无效17SUPERUSER_PASSWORD=12345618# 【*】API密钥,建议更换复杂字符串,有Jellyseerr/Overseerr、媒体服务器Webhook等配置以及部分支持API_TOKEN的API中使用19API_TOKEN=moviepilot20# 登录页面电影海报,tmdb/bing,tmdb要求能正常连接api.themoviedb.org21WALLPAPER=tmdb22# TMDB图片地址,无需修改需保留默认值,如果默认地址连通性不好可以尝试修改为:`static-mdb.v.geilijiasu.com`23TMDB_IMAGE_DOMAIN=image.tmdb.org24# TMDB API地址,无需修改需保留默认值,也可配置为`api.tmdb.org`或其它中转代理服务地址,能连通即可25TMDB_API_DOMAIN=api.tmdb.org26# 媒体识别来源 themoviedb/douban,使用themoviedb时需要确保能正常连接api.themoviedb.org,使用douban时不支持二级分类27RECOGNIZE_SOURCE=themoviedb28# 大内存模式,开启后会增加缓存数量,但会占用更多内存29BIG_MEMORY_MODE=true30# 自动检查和更新站点资源包(索引、认证等)31AUTO_UPDATE_RESOURCE=true32
33####################################34# 媒体识别&刮削 #35####################################36# 刮削入库的媒体文件 true/false37SCRAP_METADATA=true38# 新增已入库媒体是否跟随TMDB信息变化,true/false,为false时即使TMDB信息变化时也会仍然按历史记录中已入库的信息进行刮削39SCRAP_FOLLOW_TMDB=true40# 刮削来源 themoviedb/douban,使用themoviedb时需要确保能正常连接api.themoviedb.org,使用douban时会缺失部分信息41SCRAP_SOURCE=themoviedb42
43####################################44# 媒体库 #45####################################46# 【*】转移方式 link/copy/move/softlink/rclone_copy/rclone_move47TRANSFER_TYPE=link48# 转移覆盖模式,`nerver`/`size`/`always`/`latest`,分别表示`不覆盖同名文件`/`同名文件根据文件大小覆盖(大覆盖小)`/`总是覆盖同名文件`/`仅保留最新版本,删除旧版本文件(包括非同名文件)`49OVERWRITE_MODE=size50# 【*】媒体库目录,多个目录使用,分隔51LIBRARY_PATH=E:\video\link52# 电影媒体库目录名,默认电影53LIBRARY_MOVIE_NAME=movies54# 电视剧媒体库目录名,默认电视剧55LIBRARY_TV_NAME=series56# 动漫媒体库目录名,默认电视剧/动漫57LIBRARY_ANIME_NAME=anime58# 二级分类,开启后会根据配置 [category.yaml](https://github.com/jxxghp/MoviePilot/raw/main/config/category.yaml) 自动在媒体库目录下建立二级目录分类59LIBRARY_CATEGORY=false60# 电影重命名格式,Jinja2语法,参考:https://jinja.palletsprojects.com/en/3.0.x/templates/61MOVIE_RENAME_FORMAT={{title}}{% if year %} ({{year}}){% endif %}/{{title}}{% if year %} ({{year}}){% endif %}{% if part %}-{{part}}{% endif %}{% if videoFormat %} - {{videoFormat}}{% endif %}{{fileExt}}62# 电视剧重命名格式,Jinja2语法,参考:https://jinja.palletsprojects.com/en/3.0.x/templates/63TV_RENAME_FORMAT={{title}}{% if year %} ({{year}}){% endif %}/Season {{season}}/{{title}} - {{season_episode}}{% if part %}-{{part}}{% endif %}{% if episode %} - 第 {{episode}} 集{% endif %}{{fileExt}}64
65####################################66# 站点同步 #67####################################68# 【*】CookieCloud服务器地址,默认为公共服务器69COOKIECLOUD_HOST=http://cookiecloud.cirry.cn70# 【*】CookieCloud用户KEY71COOKIECLOUD_KEY=a4hFJyxxxxxxxxk8AUk72# 【*】CookieCloud端对端加密密码73COOKIECLOUD_PASSWORD=xi7ebxxxxxxxxxxxxxb74# 【*】CookieCloud同步间隔(分钟)75COOKIECLOUD_INTERVAL=18076# 【*】CookieCloud对应的浏览器UA77USER_AGENT=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36 Edg/117.0.2045.4378
79####################################80# 订阅 & 搜索 #81####################################82# 订阅模式 spider/rss,`rss`模式通过定时刷新RSS来匹配订阅(RSS地址会自动获取,也可手动维护),`spider`为爬虫模式,随机时间(间隔20-40分钟)爬取站点首页种子83SUBSCRIBE_MODE=spider84# RSS订阅模式刷新时间间隔(分钟)85SUBSCRIBE_RSS_INTERVAL=3086# 订阅搜索开关,开启后会每隔24小时对所有订阅进行全量搜索,以补齐缺失剧集87SUBSCRIBE_SEARCH=false88# 交互搜索自动下载用户ID(消息通知渠道的用户ID),使用,分割,未设置需要用户手动选择资源或者回复`0`89AUTO_DOWNLOAD_USER=90
91####################################92# 消息通知 #93####################################94# 【*】消息通知渠道 telegram/wechat/slack,多个通知渠道用,分隔95MESSAGER=slack96# WeChat企业ID97WECHAT_CORPID=98# WeChat应用Secret99WECHAT_APP_SECRET=100# WeChat应用ID101WECHAT_APP_ID=102# WeChat代理服务器,无需代理需保留默认值103WECHAT_PROXY=https://qyapi.weixin.qq.com104# WeChat Token105WECHAT_TOKEN=106# WeChat EncodingAESKey107WECHAT_ENCODING_AESKEY=108# WeChat 管理员109WECHAT_ADMINS=110# Telegram Bot Token111TELEGRAM_TOKEN=112# Telegram Chat ID113TELEGRAM_CHAT_ID=114# Telegram 用户ID,使用,分隔115TELEGRAM_USERS=116# Telegram 管理员ID,使用,分隔117TELEGRAM_ADMINS=118# Slack Bot User OAuth Token119SLACK_OAUTH_TOKEN=xoxb-5961180xxxxxxxxxxxxxxxxxxxxxxxxxxxxxd51jNPgf93Sq #自行修改120# Slack App-Level Token121SLACK_APP_TOKEN=xapp-1-A0xxxxxxxx7H-5963726xxxxxxxxxxxxxxxxxxxxxxxxxxxxx7580a01 #自行修改122# Slack 频道名称123SLACK_CHANNEL=mp #自行修改124# SynologyChat Webhook125SYNOLOGYCHAT_WEBHOOK=126# SynologyChat Token127SYNOLOGYCHAT_TOKEN=128
129####################################130# 下载 #131####################################132# 【*】下载器 qbittorrent/transmission,仅支持单个下载器,做为主下载器使用,非主下载器只要配置了参数仍可在插件等使用133DOWNLOADER=transmission134# 下载器监控开关135DOWNLOADER_MONITOR=true136# Qbittorrent地址,IP:PORT137QB_HOST=138# Qbittorrent用户名139QB_USER=140# Qbittorrent密码141QB_PASSWORD=142# Qbittorrent分类自动管理143QB_CATEGORY=false144# Qbittorrent按顺序下载145QB_SEQUENTIAL=true146# Qbittorrent忽略队列限制,强制继续147QB_FORCE_RESUME=false148# Transmission地址,IP:PORT149TR_HOST=localhost:9090 #自行修改150# Transmission用户名151TR_USER=admin #自行修改152# Transmission密码153TR_PASSWORD=123456 #自行修改154# 种子标签155TORRENT_TAG=MOVIEPILOT156# 【*】下载保存目录,容器内映射路径需要一致,支持不同类型设置不同的下载目录(跨盘)157DOWNLOAD_PATH=E:\video158# 电影下载保存目录(路径),容器内映射路径需要一致159DOWNLOAD_MOVIE_PATH=E:\video\movies160# 电视剧下载保存目录(路径),容器内映射路径需要一致161DOWNLOAD_TV_PATH=E:\video\series162# 动漫下载保存目录(路径),容器内映射路径需要一致163DOWNLOAD_ANIME_PATH=E:\video\anime164# 下载目录二级分类,开启后会根据配置 [category.yaml](https://github.com/jxxghp/MoviePilot/raw/main/config/category.yaml) 自动在下载目录下建立二级目录分类165DOWNLOAD_CATEGORY=false166# 下载站点字幕167DOWNLOAD_SUBTITLE=true168
169####################################170# 媒体服务器 #171####################################172# 【*】媒体服务器 emby/jellyfin/plex,多个媒体服务器,分割173MEDIASERVER=jellyfin174# 媒体服务器同步间隔(小时)175MEDIASERVER_SYNC_INTERVAL=6176# 媒体服务器同步黑名单,多个媒体库名称,分割177MEDIASERVER_SYNC_BLACKLIST=178# EMBY服务器地址,IP:PORT179EMBY_HOST=180# EMBY Api Key181EMBY_API_KEY=182# Jellyfin服务器地址,IP:PORT183JELLYFIN_HOST=localhost:8096184# Jellyfin Api Key185JELLYFIN_API_KEY=36d9xxxxxxxxxxxxxxxxxxxxxxxx96a3186# Plex服务器地址,IP:PORT187PLEX_HOST=188# Plex Token189PLEX_TOKEN=190
191####################################192# 第三方服务 #193####################################194# OCR服务器地址195OCR_HOST=https://movie-pilot.org196# 插件市场仓库地址,多个地址使用`,`分隔,保留最后的/197PLUGIN_MARKET=https://github.com/jxxghp/MoviePilot-Plugins/
步骤二
还需要在系统的环境变量中添加认证信息,如下图:
到这里就配置完成了,重启moviepilot应用就可以正常使用了。