MoviePilot 是NasTools作者的新项目,是一款Nas媒体库自动化管理工具,仅用于学习交流使用,请勿在国内的平台宣传此项目。
由于MoviePilot的部署依赖多个服务,以及相关的基础知识,需要一定的技术。在安装之前,默认你已经掌握或了解以下的内容
- Docker
- 安装及基础的指令使用
- Docker-compose 安装和使用
- Linux 下的相关知识和指令操作
- UID id -u
- PID id -g
- 查看端口占用命令 lsof -i:<port>
- 软链接、硬链接
- Cron表达式
- 查看主机IP ifconfig
- PT 下载器
- qbittorrent
- transmission
- 媒体服务器
- emby
- plex
- jellyfin
- PT站点
- 需要有一个MoviePilot 支持的PT站才能使用,否则下面的内容不用看了
安装
本指南默认采用Debian12 Linux系统进行安装部署,NAS用户请自行按照相关变量自行修改配置。
获取UID GID
ssh 服务器 ,输入 id -u id -g
分别获取UID GID
- UID=0
- GID=0
创建目录
1. MoviePilot目录
需要设置三个目录,存放配置和core数据,以及媒体数据
在MoviePilot 目录下新建如下的目录结构
/MoviePilot/moviepilot/config
→ config 信息/MoviePilot/moviepilot/core
→ 核心数据/MoviePilot/media
→ 媒体数据(文件硬链接目录
)
2.QBitTorrent 目录
需要设置两个目录,一个用来映射下载目录,一个用来映射QBitTorrent 的配置
在MoviePilot 目录下新建如下的目录结构
/MoviePilot/qbittorrent
→ config信息/MoviePilot/media/downloads
→ 下载数据
4.Emby 目录
需要设置两个目录,一个映射媒体数据,一个映射配置目录
在MoviePilot 目录下新建如下的目录结构
/MoviePilot/emby
→ config信息/MoviePilot/media
→ 媒体数据(文件硬链接目录
)
文件目录一览:
MoviePilot
├── emby
├── media
│ └── downloads
├── moviepilot
│ ├── config
│ └── core
└── qbittorrent
依赖安装
1.安装CookieCloud
CookieCloud是一个和自架服务器同步Cookie的小工具,可以将浏览器的Cookie及Local storage同步到手机和云端,它支持端对端加密,可设定同步时间间隔。主要用来同步各大PT站点的cookie信息供MoviePilot自动同步导入使用。
docker run -d --name=cookiecloud -p 8088:8088 --restart=always easychen/cookiecloud:latest
【测试是否安装成功】
打开 http://<ip>:8088 出现hello world 提示即安装服务端成功
【安装浏览器插件】
注意需要登录你的PT站点,一定要先登录上,否则后续MoviePilot启动时可能没有站点信息。
chrome商店 下载安装插件后,进行参数配置后保存,然后手动测试是否同步成功。
服务器地址
如果是局域网,填写http://<ip>:8088
,如果有公网,则填写公网地址用户KEY
可以自定义,也可以使用默认生成的,后面会用到端对端加密密码
可以自定义,也可以使用默认生成的,后面会用到
2.安装MoviePilot Emby qBitTorrent
下面给出完整的docker-compose 文件,需要自行修改其中的变量
version: '3.3'
# MoviePilot 地址:https://github.com/jxxghp/MoviePilot
services:
qbittorrent:
image: 'nevinee/qbittorrent:latest'
container_name: qbittorrent
restart: always
tty: true
hostname: qbittorrent
volumes:
- '/MoviePilot/qbittorrent:/data' # 目录已提前创建好
- '/MoviePilot/media/downloads:/media/downloads' # 目录已提前创建好
tmpfs:
- '/tmp'
environment:
- 'QB_USERNAME=admin' # 自行修改
- 'QB_PASSWORD=adminadmin' # 自行修改
- 'BT_PORT=49678'
ports:
- target: 8080
published: 8080
protocol: tcp
- target: 49678
published: 49678
protocol: tcp
- target: 49678
published: 49678
protocol: udp
network_mode: bridge
emby:
container_name: emby
ports:
- target: 8096
published: 8096
protocol: tcp
- target: 8920
published: 8920
protocol: tcp
- target: 11900
published: 11900
protocol: udp
- target: 7359
published: 7359
protocol: udp
volumes:
- '/MoviePilot/emby:/config' # 目录已提前创建好
- '/MoviePilot/media:/data' # 目录已提前创建好
environment:
- TZ=Asia/Shanghai
restart: always
hostname: emby
network_mode: bridge
image: 'lovechen/embyserver:latest'
moviepilot:
ports:
- target: 3000
published: 3000
protocol: tcp
environment:
- 'UMASK=022'
- 'TZ=Asia/Shanghai'
# 重启更新
- 'MOVIEPILOT_AUTO_UPDATE=release'
# WEB服务端口
- 'NGINX_PORT=3000'
# 超级管理员用户名
- 'SUPERUSER=admin' # 自行修改
# 超级管理员初始密码
- 'SUPERUSER_PASSWORD=adminadmin' # 自行修改 需要启动后docker logs 查看
# 登录首页电影海报,`tmdb`/`bing`,默认`tmdb`
- 'WALLPAPER=tmdb'
# API密钥,在媒体服务器Webhook、微信回调等地址配置中需要加上?token=该值,建议修改为复杂字符串
- 'API_TOKEN=moviepilot'
# 网络代理(可选)
# - 'PROXY_HOST='
# TMDB API地址
- 'TMDB_API_DOMAIN=api.themoviedb.org'
# 下载保存目录
- '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'
- 'SUBSCRIBE_RSS_INTERVAL=30'
# 刮削入库的媒体文件
- 'SCRAP_METADATA=true'
- 'SCRAP_FOLLOW_TMDB=true'
# 种子标签
- 'TORRENT_TAG=MOVIEPILOT'
# 媒体库目录
- 'LIBRARY_PATH=/media'
- 'LIBRARY_MOVIE_NAME=movies'
- 'LIBRARY_TV_NAME=tv'
- 'LIBRARY_ANIME_NAME=anime'
# 媒体库二级分类开关
- 'LIBRARY_CATEGORY=false'
# 转移方式,支持link/copy/move/softlink
- 'TRANSFER_TYPE=link'
# 转移覆盖模式,默认为`size`,支持`nerver`/`size`/`always`,分别表示`不覆盖`/`根据文件大小覆盖(大覆盖小)`/`总是覆盖`
- 'OVERWRITE_MODE=size'
# CookieCloud服务器地址(默认可以不用修改)
- 'COOKIECLOUD_HOST=你的地址' # 自行修改
# CookieCloud用户KEY
- 'COOKIECLOUD_KEY=你的key' # 自行修改
# CookieCloud端对端加密密码
- 'COOKIECLOUD_PASSWORD=你的端对端密码' # 自行修改
# CookieCloud同步间隔(分钟)
- 'COOKIECLOUD_INTERVAL=20'
# CookieCloud对应的浏览器UA,可选,设置后可增加连接站点的成功率,同步站点后可以在管理界面中修改
- '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'
- 'SUBSCRIBE_SEARCH=false'
# 交互搜索自动下载用户ID,使用,分割
- 'AUTO_DOWNLOAD_USER='
# 插件市场仓库地址,多个地址使用`,`分隔,保留最后的/
- 'PLUGIN_MARKET=https://raw.githubusercontent.com/jxxghp/MoviePilot-Plugins/main/'
# 消息通知渠道,支持 telegram/wechat/slack/synologychat
- 'MESSAGER=telegram'
- 'TELEGRAM_TOKEN=xxxxxx' # 自行修改
- 'TELEGRAM_CHAT_ID=xxxxxxxxxxxx' # 自行修改
# - 'TELEGRAM_USERS=xxxxxxxxxxxxx'
# - 'TELEGRAM_ADMINS=xxxxxxxxxxxxx'
# - 'WECHAT_CORPID='
# - 'WECHAT_APP_SECRET='
# - 'WECHAT_APP_ID='
# - 'WECHAT_TOKEN='
# - 'WECHAT_ENCODING_AESKEY='
# - 'WECHAT_ADMINS='
# - 'WECHAT_PROXY='
# - 'SLACK_OAUTH_TOKEN='
# - 'SLACK_APP_TOKEN='
# - 'SLACK_CHANNEL='
# - 'SYNOLOGYCHAT_WEBHOOK='
# - 'SYNOLOGYCHAT_TOKEN='
# 下载器,支持qbittorrent/transmission
- 'DOWNLOADER=qbittorrent'
- 'QB_HOST=http://ip:8080/' # 自行修改
- 'QB_USER=admin' # 自行修改
- 'QB_PASSWORD=adminadmin' # 自行修改
- 'QB_CATEGORY=false'
- 'QB_SEQUENTIAL=true'
- 'QB_FORCE_RESUME=false'
# - 'TR_HOST='
# - 'TR_USER='
# - 'TR_PASSWORD='
# 媒体服务器,支持emby/jellyfin/plex
- 'MEDIASERVER=emby'
- 'EMBY_HOST=http://ip:8096' # 自行修改
- 'EMBY_API_KEY=key' # 自行修改
# - 'JELLYFIN_HOST='
# - 'JELLYFIN_API_KEY='
# - 'PLEX_HOST='
# - 'PLEX_TOKEN='
# 媒体服务器同步间隔(小时),默认`6`,留空则不同步
- 'MEDIASERVER_SYNC_INTERVAL=6'
# 媒体服务器同步黑名单,多个媒体库名称使用,分割
- 'MEDIASERVER_SYNC_BLACKLIST='
# 认证站点,认证资源`v1.0.1`支持`iyuu`/`hhclub`/`audiences`/`hddolby`/`zmpt`/`freefarm`/`hdfans`/`wintersakura`/`leaves`/`1ptba`/`icc2022`/`ptlsp`/`xingtan`/`ptvicomo`
- 'AUTH_SITE=audiences'
- 'AUDIENCES_UID=' # 自行修改获取
- 'AUDIENCES_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}}'
restart: always
tty: true
volumes:
- '/MoviePilot/moviepilot/config:/config'
- '/MoviePilot/moviepilot/core:/moviepilot'
- '/var/run/docker.sock:/var/run/docker.sock:ro'
- '/MoviePilot/media:/media'
network_mode: bridge
hostname: moviepilot
container_name: moviepilot
image: 'jxxghp/moviepilot:latest'
下面是一些具体的参数解析
需要填写的参数和环境变量有很多,参考官方文档,建议复制后使用
容器名称
随意填写,或者使用默认值- 勾选
启用自动重新启动
端口设置-本地端口
设置为3000
存储空间
设置/MoviePilot/moviepilot/config
→/config
/MoviePilot/moviepilot/core
→/moviepilot
/var/run/docker.sock
→/var/run/docker.sock
映射宿主机docker.sock文件到容器/var/run/docker.sock
,以支持内建重启操作。/MoviePilot/media
→/media
环境变量
设置(key=value)PUID=
0 根据实际获取到的为准,填写错误有文件读写权限问题!PGID=
0 根据实际获取到的为准,填写错误有文件读写权限问题!- UMASK=022
TZ=
Asia/Shanghai 时区MOVIEPILOT_AUTO_UPDATE
=release 重启更新NGINX_PORT
=3000 WEB服务端口SUPERUSER
=xxxx 超管名,自己定义SUPERUSER_PASSWORD
=xxxxxx 超管密码,自定义即可,新版本会默认在log下生成,需要查看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=adminadmin 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}} 电视剧重命名格式
【测试】
打开 http://<ip>:3000 登录进入
参考链接
- 支持的下载站点有
- 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安装和使用指引,可供参考: