Docker 部署 自动化观影平台MoviePilot
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站点

安装

本指南默认采用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安装和使用指引,可供参考:

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇