部分内容来源于网络
文章内无法解决移步MoviePilot项目作者Wiki:开始 | MoviePilot Wiki (movie-pilot.org)
本次解决方案我们需要使用到群晖的Container Manager(即docker)来部署MoviePilot、qBittorrent和Jellyfin等开源项目。这三个工具可以自动从文件名或元数据中识别电影和照片,并以直观且易于浏览的方式呈现。这为我们的影音中心实现观影自动化打下了坚实的基础。
MoviePilot【原NASTool项目原作者已停止更新】
一个自动化媒体管理工具,可以帮你自动搜索、下载和管理电影和电视剧资源【需求PT站或BT站】。
它可以与多种下载器(如 qBittorrent、Transmission)和媒体服务器(如Jellyfin、Emby、Plex)配合使用,实现资源的自动下载、整理和获取详细信息。
同时支持通过微信、Telegram、Slack、Synology Chat、Vocechat、飞书(插件)等进行远程搜索、下载、管理。
Telegram申请教程:https://zhuanlan.zhihu.com/p/602213485
群晖Chat套件下载:https://archive.synology.com/download/Package/Chat
自动搜索和下载
用户可以在 MoviePilot 中设置搜索条件,MoviePilot 会自动在支持的站点中搜索满足条件的资源,并通过配套的下载器进行下载。
自动整理和刮削
下载完成后,MoviePilot 会自动将资源整理到媒体库中,并进行刮削,获取资源的元数据信息。
远程管理
MoviePilot支持通过微信、Telegram、Slack 进行远程搜索、下载、订阅和管理。
用户界面
MoviePilot提供了美观易用的用户界面,用户可以在界面中进行各种设置和管理操作。
配合其他工具使用
MoviePilot可以作为 Radarr 或 Sonarr 服务器添加到 Overseerr 或 Jellyseerr,实现更多功能。
MoviePilot 仍在开发中,当前功能并不完善,包括搜索结果过滤、多通知渠道支持、多媒体库目录支持、自定义识别词、便捷工具、过滤规则维护、手动整理功能增强、本地存在标识、媒体详情页面、洗版支持、插件管理等功能正在开发中。
安装教程
准备工作
在正式开始安装之前,我们要做好准备工作,才可以在之后配置时不出问题。
我们要先把qBittorrent和Jellyfin安装好,这样在安装完MoviePilot之后就可以直接进行配置。所以我们要规划好下载目录和媒体库目录。要实现全自动化的订阅下载入库功能,我们要将媒体库目录规划成这个样子。
先在控制面板中创建一个名为Downloads(可自行命名)的共享文件夹,如下图所示。
再在File Station中找到Downloads,并在其下创建downloads和media(可自行命名)两个文件夹。
其中downloads文件夹是作为qBittorrent(Docker安装qBittorrent需映射此 文件夹为下载目录)下载目录进行保种,media文件夹是作为下载完成后MoviePilot会将下载的文件通过第三方的影视信息库进行识别并刮削信息后进行硬链接,增加目录文件的可读性,同时也不会额外消耗你的存储空间。
演示环境:dsm 7.2
Moviepilot,jellyseerr,jellyfin,emby,plex,watchtower,cookiecloud,qb,tr,Tautulli
如果需要mp界面中的重启功能,需要使用docker cli创建,模版如下,其他设置请自行补全。
使用方法:ssh连接到nas后,输入下面命令。
docker run -itd \ --name moviepilot \ --hostname moviepilot \ -p 3000:3000 \ -v /Downloads:/Downloads \ #可自行更改# -v /moviepilot/config:/config \ -v /var/run/docker.sock:/var/run/docker.sock:ro \ -e 'NGINX_PORT=3000' \ -e 'PORT=3001' -e 'PUID=0' \ -e 'PGID=0' \ -e 'UMASK=000' \ -e 'TZ=Asia/Shanghai' \ -e 'PROXY_HOST=' \ -e 'MOVIEPILOT_AUTO_UPDATE=true' \ -e 'AUTH_SITE=iyuu' \ -e 'IYUU_SIGN=' \ -e 'SUPERUSER=admin' \ -e 'API_TOKEN=moviepilot' \ -e 'BIG_MEMORY_MODE=false' \ -e 'GITHUB_TOKEN=' \ -e 'DEV=false' \ -e 'DEBUG=false' \ -e 'AUTO_UPDATE_RESOURCE=true' \ -e 'TMDB_API_DOMAIN=api.themoviedb.org' \ -e 'TMDB_IMAGE_DOMAIN=image.tmdb.org' \ -e 'WALLPAPER=tmdb' \ -e 'RECOGNIZE_SOURCE=themoviedb' \ -e 'FANART_ENABLE=true' \ -e 'SCRAP_SOURCE=themoviedb' \ -e 'SCRAP_FOLLOW_TMDB=true' \ -e 'AUTO_DOWNLOAD_USER=all' \ -e 'OCR_HOST=https://movie-pilot.org' \ -e 'DOWNLOAD_SUBTITLE=true' \ -e 'PLUGIN_MARKET=https://github.com/jxxghp/MoviePilot-Plugins' \ --log-driver "json-file" \ --log-opt "max-size=5m" \ --restart always \ jxxghp/moviepilot:latest
docker地址:https://hub.docker.com/r/jxxghp/moviepilot/
ssh拉取命令:docker pull jxxghp/moviepilot
app.env模版:https://github.com/jxxghp/MoviePilot/raw/main/config/app.env (需迅雷下载)---新版本已可不用进行修改app.env,如需更改默认账号可进行修改
Docker下建立一个MoviePilot文件夹,MoviePilot文件夹中再建立一个MoviePilot文件夹用以存放浏览器内核。
注意:
这里的下载目录(downloads映射为/media),后面的映射路径必须和qb,tr等其他软件一致,注意大小写也要一致。
IYUU或pt站认证二选一
IYUU申请地址:https://iyuu.cn
其他变量不变
PROXY_HOST填写你的实际代理地址,如没有可删除此变量
AUTH_SITE=iyuu
IYUU_SIGN=iyuu登陆令牌
PT认证站参考作者主页列表
取消运行容器后完成
使用记事本打开app.env文件,按照自己实际情况设定,app.env修改设置分割线以下新版本可不用修改,待安装好后进入系统设置进行修改。
系统内目录设置演示:
####################################################################### # 【*】为必配项,其余为选配项,选配项可以删除整项配置项或者保留配置默认值 # ####################################################################### #################################### # 系统设置 # #################################### # 【*】API监听地址(注意不是前端访问地址) HOST=0.0.0.0 # 是否调试模式,打开后将输出更多日志 DEBUG=false # 是否开发模式,打开后后台服务将不会启动 DEV=false # 【*】超级管理员,设置后一但重启将固化到数据库中,修改将无效 SUPERUSER=【设置你的moviepilot管理账号】 # 【*】超级管理员初始密码,设置后一但重启将固化到数据库中,修改将无效 SUPERUSER_PASSWORD=【设置你的moviepilot管理密码】 # 大内存模式,开启后会增加缓存数量,但会占用更多内存 BIG_MEMORY_MODE=true # 自动检查和更新站点资源包(索引、认证等) AUTO_UPDATE_RESOURCE=true #################################### # 消息通知渠道(按需配置) # #################################### # WeChat企业ID WECHAT_CORPID= # WeChat应用Secret WECHAT_APP_SECRET= # WeChat应用ID WECHAT_APP_ID= # WeChat代理服务器,无需代理需保留默认值 WECHAT_PROXY= # WeChat Token WECHAT_TOKEN= # WeChat EncodingAESKey WECHAT_ENCODING_AESKEY= # WeChat 管理员 WECHAT_ADMINS= # Telegram Bot Token TELEGRAM_TOKEN= # Telegram Chat ID TELEGRAM_CHAT_ID= # Telegram 用户ID,使用,分隔 TELEGRAM_USERS= # Telegram 管理员ID,使用,分隔 TELEGRAM_ADMINS= # Slack Bot User OAuth Token SLACK_OAUTH_TOKEN= # Slack App-Level Token SLACK_APP_TOKEN= # Slack 频道名称 SLACK_CHANNEL= # SynologyChat Webhook SYNOLOGYCHAT_WEBHOOK= # SynologyChat Token SYNOLOGYCHAT_TOKEN= #################################### # 下载器(按需配置) # #################################### # Qbittorrent地址,IP:PORT QB_HOST=【你的qBittorrent网页管理地址,获取方式请看https://www.dustinky.com/posts/synology-docker-install-qbittorrent】 # Qbittorrent用户名 QB_USER=【你的qBittorrent用户名,获取方式请看https://www.dustinky.com/posts/synology-docker-install-qbittorrent】 # Qbittorrent密码 QB_PASSWORD=【你的qBittorrent密码,获取方式请看https://www.dustinky.com/posts/synology-docker-install-qbittorrent】 # Qbittorrent分类自动管理 QB_CATEGORY=false # Qbittorrent按顺序下载 QB_SEQUENTIAL=true # Qbittorrent忽略队列限制,强制继续 QB_FORCE_RESUME=true # Transmission地址,IP:PORT TR_HOST= # Transmission用户名 TR_USER= # Transmission密码 TR_PASSWORD= #################################### # 媒体服务器(按需配置) # #################################### # EMBY服务器地址,IP:PORT EMBY_HOST= # EMBY外网地址,http(s)://DOMAIN:PORT,未设置时使用EMBY_HOST EMBY_PLAY_HOST= # EMBY Api Key EMBY_API_KEY= # Jellyfin服务器地址,IP:PORT JELLYFIN_HOST=【你的Jellyfin网页管理地址,获取方式请看https://www.dustinky.com/posts/synology-docker-install-jellyfin】 # Jellyfin外网地址,http(s)://DOMAIN:PORT,未设置时使用JELLYFIN_HOST JELLYFIN_PLAY_HOST= # Jellyfin Api Key JELLYFIN_API_KEY=【你的Jellyfin API key,获取方式请看https://www.dustinky.com/posts/synology-docker-install-jellyfin】 # Plex服务器地址,IP:PORT PLEX_HOST= # Plex外网地址,http(s)://DOMAIN:PORT,未设置时使用PLEX_HOST PLEX_PLAY_HOST= # Plex Token PLEX_TOKEN= #################################### # 基础设置 # #################################### # 【*】API密钥,建议更换复杂字符串,有Jellyseerr/Overseerr、媒体服务器Webhook等配置以及部分支持API_TOKEN的API中使用 API_TOKEN='moviepilot' # 登录页面电影海报,tmdb/bing,tmdb要求能正常连接api.themoviedb.org WALLPAPER='tmdb' # TMDB图片地址,无需修改需保留默认值,如果默认地址连通性不好可以尝试修改为:`static-mdb.v.geilijiasu.com` TMDB_IMAGE_DOMAIN='image.tmdb.org' # TMDB API地址,无需修改需保留默认值,也可配置为`api.tmdb.org`或其它中转代理服务地址,能连通即可 TMDB_API_DOMAIN='api.tmdb.org' # 媒体识别来源 themoviedb/douban,使用themoviedb时需要确保能正常连接api.themoviedb.org,使用douban时不支持二级分类 RECOGNIZE_SOURCE='themoviedb' # 【*】消息通知渠道 telegram/wechat/slack,多个通知渠道用,分隔,需要在上面配置对应消息通知渠道的参数 MESSAGER='wechat' # 【*】下载器 qbittorrent/transmission,仅支持单个下载器,做为主下载器使用,需要在上面配置对应消下载器的参数 DOWNLOADER='qbittorrent' # 下载器监控开关 DOWNLOADER_MONITOR='True' # 【*】媒体服务器 emby/jellyfin/plex,多个媒体服务器,分割 MEDIASERVER='jellyfin' # 媒体服务器同步间隔(小时) MEDIASERVER_SYNC_INTERVAL='6' # 媒体服务器同步黑名单,多个媒体库名称,分割 MEDIASERVER_SYNC_BLACKLIST= #################################### # 媒体识别&刮削 # #################################### # 刮削入库的媒体文件 true/false SCRAP_METADATA='true' # 新增已入库媒体是否跟随TMDB信息变化,true/false,为false时即使TMDB信息变化时也会仍然按历史记录中已入库的信息进行刮削 SCRAP_FOLLOW_TMDB='True' # 刮削来源 themoviedb/douban,使用themoviedb时需要确保能正常连接api.themoviedb.org,使用douban时会缺失部分信息 SCRAP_SOURCE='themoviedb' #################################### # 文件整理 & 媒体库 # #################################### # 【*】转移方式 link/copy/move/softlink/rclone_copy/rclone_move TRANSFER_TYPE='link' # 转移覆盖模式,`nerver`/`size`/`always`/`latest`,分别表示`不覆盖同名文件`/`同名文件根据文件大小覆盖(大覆盖小)`/`总是覆盖同名文件`/`仅保留最新版本,删除旧版本文件(包括非同名文件)` OVERWRITE_MODE='size' # 【*】媒体库目录,多个目录使用,分隔 LIBRARY_PATH='/media_center/media' # 电影媒体库目录名,默认电影 LIBRARY_MOVIE_NAME='Movies' # 电视剧媒体库目录名,默认电视剧 LIBRARY_TV_NAME='TVShows' # 动漫媒体库目录名,默认电视剧/动漫 LIBRARY_ANIME_NAME='Animes' # 二级分类,开启后会根据配置 [category.yaml](https://github.com/jxxghp/MoviePilot/raw/main/config/category.yaml) 自动在媒体库目录下建立二级目录分类 LIBRARY_CATEGORY='true' # 电影重命名格式,Jinja2语法,参考:https://jinja.palletsprojects.com/en/3.0.x/templates/ MOVIE_RENAME_FORMAT='{{title}}{% if year %} ({{year}}){% endif %}/{{title}}{% if year %} ({{year}}){% endif %}{% if part %}-{{part}}{% endif %}{% if videoFormat %} - {{videoFormat}}{% endif %}{{fileExt}}' # 电视剧重命名格式,Jinja2语法,参考:https://jinja.palletsprojects.com/en/3.0.x/templates/ TV_RENAME_FORMAT='{{title}}{% if year %} ({{year}}){% endif %}/Season {{season}}/{{title}} - {{season_episode}}{% if part %}-{{part}}{% endif %}{% if episode %} - 第 {{episode}} 集{% endif %}{{fileExt}}' #################################### # 站点同步 # #################################### # 【*】CookieCloud服务器地址,默认为公共服务器 COOKIECLOUD_HOST='【你的CookieCloud地址,获取方式请看https://www.dustinky.com/posts/synology-docker-install-cookie-cloud】' # 【*】CookieCloud用户KEY COOKIECLOUD_KEY='【你的CookieCloud用户KEY,获取方式请看https://www.dustinky.com/posts/synology-docker-install-cookie-cloud】' # 【*】CookieCloud端对端加密密码 COOKIECLOUD_PASSWORD='【你的CookieCloud端对端加密密码,获取方式请看https://www.dustinky.com/posts/synology-docker-install-cookie-cloud】' # 【*】CookieCloud同步间隔(分钟) COOKIECLOUD_INTERVAL='10' # 【*】CookieCloud对应的浏览器UA USER_AGENT='Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36 Edg/113.0.1774.57' #################################### # 订阅 & 搜索 # #################################### # 订阅模式 spider/rss,`rss`模式通过定时刷新RSS来匹配订阅(RSS地址会自动获取,也可手动维护),`spider`为爬虫模式,随机时间(间隔20-40分钟)爬取站点首页种子 SUBSCRIBE_MODE='spider' # RSS订阅模式刷新时间间隔(分钟) SUBSCRIBE_RSS_INTERVAL='30' # 订阅搜索开关,开启后会每隔24小时对所有订阅进行全量搜索,以补齐缺失剧集 SUBSCRIBE_SEARCH=true # 交互搜索自动下载用户ID(消息通知渠道的用户ID),使用,分割,未设置需要用户手动选择资源或者回复`0` AUTO_DOWNLOAD_USER= #################################### # 下载 # #################################### # 【*】下载保存目录,容器内映射路径需要一致,支持不同类型设置不同的下载目录(跨盘) DOWNLOAD_PATH='/media_center/downloads/' # 电影下载保存目录(路径),容器内映射路径需要一致 DOWNLOAD_MOVIE_PATH='Movies' # 电视剧下载保存目录(路径),容器内映射路径需要一致 DOWNLOAD_TV_PATH='TVShows' # 动漫下载保存目录(路径),容器内映射路径需要一致 DOWNLOAD_ANIME_PATH='Animes' # 下载目录二级分类,开启后会根据配置 [category.yaml](https://github.com/jxxghp/MoviePilot/raw/main/config/category.yaml) 自动在下载目录下建立二级目录分类 DOWNLOAD_CATEGORY='true' # 种子标签 TORRENT_TAG='MP' # 自动下载站点字幕(如有) DOWNLOAD_SUBTITLE='True' #################################### # 扩展 # #################################### # OCR服务器地址 OCR_HOST='https://movie-pilot.org' # 插件市场仓库地址,多个地址使用`,`分隔,保留最后的/ PLUGIN_MARKET='https://github.com/jxxghp/MoviePilot-Plugins'
第三方插件地址:(多条之间使用英文逗号隔开)
https://raw.githubusercontent.com/thsrite/MoviePilotPlugins/main/
https://raw.githubusercontent.com/honue/MoviePilotPlugins/main/
https://raw.githubusercontent.com/dandkong/MoviePilot-Plugins/main/
https://raw.githubusercontent.com/Aqr-K/MoviePilot-Plugins/main/
https://raw.githubusercontent.com/AnjoyLi/MoviePilot-Plugins/main/
https://raw.githubusercontent.com/WithdewHua/MoviePilot-Plugins/main/
https://raw.githubusercontent.com/HankunYu/MoviePilot-Plugins/main/
每次修改app.env后,都需要重启mp容器才能生效(系统内设置处修改项目除外)。
等待内核下载完成,访问:ip+3000(192.168.1.252:3000)