侧边栏壁纸
博主头像
少年听雨的博客博主等级

天地本宽,而鄙者自隘。

  • 累计撰写 33 篇文章
  • 累计创建 1 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Moviepilot!观影从未如此流畅!

少年听雨歌楼上
2024-07-19 / 0 评论 / 0 点赞 / 573 阅读 / 22065 字

前言

你是否有过这样的困扰——一部部精彩纷呈的电影在磁盘里只是一个个冰冷的文件夹?

拥有众多的影视资源网站,想找到想看的却要手动一个个去遍历?每次更新剧集却要手动追更?

如果你有这些烦恼,那么看完这个系列,我想你可以彻底放心了。

Moviepilot,一个影视搜索与资源管理的项目,通过它可以管理你的影视资源站点、刮削并整理你的影视资源,追更影视资源等等。让你从枯燥复杂的生活中抽离出来!

项目地址:https://github.com/jxxghp/MoviePilot

欢迎你给作者点个stars!

注意:请不要将本文内容传播甚至转载到流媒体平台,包括但不限于抖音、小红书、微博、贴吧等。

本文仅用于学习交流使用,如有侵犯到项目作者权益和相关站点利益的地方请留言修改甚至删除!

准备

前提条件

在此之前请确认你具备以下条件。

  • 有一台nas或者具备docker环境的设备。

  • 具有公网ipv4或者具有公网ipv4的vps.

  • 具有用于认证的站点之一。(具体认证站点请阅读项目地址-认证站点表格。)

在确认以上条件具备之后,查看部署设备是否安装docker和docker compose,如果没有请看这篇安装。

https://snty.de/archives/2023082601

理清目录

首先我们来做最重要的一件事情,做好了这个,将会非常顺利。那就是理清目录!

你需要确认设置以下目录

  1. 项目安装目录

  2. 媒体文件的下载目录

  3. 种子和演职人员目录

确认需要的目录,我们建立以下文件夹。

  • 媒体库

  • docker

  • other

接着我们获取他们在设备上的真实路径。

群晖目录

群晖用户只需要进入File station右键点击目标文件夹-属性-常规-位置

全选并复制内容即可。

威联通目录

而威联通用户则是进入File station右键点击目标文件夹-属性-位置

复制位置信息之后,在前面加上/share后面再加上当前文件夹的名字。

比如,我需要知道共享文件夹/home/影视库的真实路径。当我在File station右键获取位置时候,实际显示的却是/home。那么这个时候,我们需要在其后加上/影视库。而前方加上/share则是威联通的根目录就是/share

所以对于威联通的用户,对应该目录所需要的实际路径就是/share/home/影视库

为了方便萌新小白朋友理解和安装,我将做出以下假设。群晖的朋友可以按着如实操作。

  • 我所安装的设备为群晖NAS。

  • 媒体库目录为媒体库,用于下载和储存影视资源。

  • docker目录为docker,用于部署所需容器。

  • 其他目录为other,用于其他容器间相互处理的文件。

由于我都建设在/volume1上,所以三个目录实际路径分别如下。

  • /volume1/媒体库

  • /volume1/docker

  • /volume1/other

威联通的也可以如此建立三个文件夹,只是你们的实际目录需要将/volume1改成/share

接着在/媒体库文件夹中建立两个文件夹,分别为影视库link

/docker文件中分别建立文件夹mp、qb、tr、emby、jellyfin

emby和jellyfin你可以二选一,也可以都部署。

/other文件夹中建立文件夹People、种子库。并在种子库文件夹中建立两个文件夹qb、tr

那么对于群晖来讲,各个文件夹的实际路径为。

  • emby和jellyfin你可以二选一,也可以都部署。

  • /volume1/媒体库/影视库

  • /volume1/媒体库/link

  • /volume1/docker/mp

  • /volume1/docker/qb

  • /volume1/docker/tr

  • /volume1/docker/emby

  • /volume1/docker/jellyfin

  • /volume1/other/People

  • /volume1/other/种子库/qb

  • /volume1/other/种子库/tr

那么对于威联通来讲,各个文件夹的实际路径为。

emby和jellyfin你可以二选一,也可以都部署。

  • /share/媒体库/影视库

  • /share/媒体库/link

  • /share/docker/mp

  • /share/docker/qb

  • /share/docker/tr

  • /share/docker/emby

  • /share/docker/jellyfin

  • /share/other/People

  • /share/other/种子库/qb

  • /share/other/种子库/tr

注意:如果你是威联通的朋友,最偷懒的方法就是直接映射整个根目录/share,因为它不会存在盘符。但是麻烦之处就是你需要明确知道自己在做什么!

对于目录这里我到此结束,请阅读并理解此段,在接下的篇幅我会尽量省略。

企业微信(上)

企业微信的作用主要是为了使用它的应用更方便的远程控制Moviepilot,可以手机发送消息互动达到下载、订阅、签到、通知的作用。

网页打开企业微信,注册账号。

网址:https://work.weixin.qq.com/wework_admin/frame

点击上方菜单栏的我的企业,往下滑动,找到企业ID,记住并保存下来。

点击上方菜单栏的通讯录,选择自己的姓名并点击。

找到账号后的名称,记住并保存下来。

记住是账号!

点击上方菜单栏的应用管理,找到自建,点击创建应用。

logo可以使用如下图标。

https://wwnj.lanzout.com/ipLNQ1irfbkd

应用名称填写MoviePilot,可见范围那选择自己即可,也可以直接点击整个企业的名称文件夹。

点击确定创建应用。

记住并保存下来Agentld。然后点击Secret旁的查看。打开手机企业微信app查看获取到的secret,记住并保存下来。

接着再次来到企业微信网页控制台的上方菜单栏的应用管理。选择刚刚创建的应用,找到接受消息并点击设置API接收。

在弹出的界面URL填写,http://你的公网ip:3000/api/v1/message/?token=sntydejiaocheng

然后点击Token和EncodingAESKey下方框后的随机获取,保存并记下这两串数字。

此时你点保存是保存不了的,我们先放一边,先去部署容器。

部署容器

接下来需要先来部署容器。

这些基本没什么难度,值得注意的就是文件夹的映射。在这里我推荐映射实际文件夹路径。

也就是它实际文件夹路径是什么样的,我就映射到容器里是什么样的。

这样做的好处就是你可以很明确的知道文件在哪,并且各容器有了一个标准。

现在开始吧。

连接服务器控制台

首先试用ssh工具连接设备控制台

输入以下命令进去root权限

sudo -i

输入密码后回车即可

部署qbittorrent

进入容器的安装目录,并建立配置文件夹。

cd /volume1/docker/qb
mkdir -p ./config

创建compose文件

vim docker-compose.yml

按下i后,粘贴如下内容。

version: "2.1"

services:

  qbittorrent:

    image: linuxserver/qbittorrent:latest

    container_name: qBittorrent

    environment:

      - PUID=0

      - PGID=0

      - TZ=Asia/Shanghai

      - WEBUI_PORT=8080

    volumes:

      - ./config:/config

      - /volume1/other/种子库/qb:/config/qBittorrent/BT_backup #映射qb种子路径

      - /volume1/媒体库:/volume1/媒体库

    ports:

      - 8080:8080

      - 6882:6881

      - 6882:6881/udp

    network_mode: "host"

    restart: unless-stopped

按下esc后,输入:wq ,保存并退出。

运行docker-compose命令

docker-compose up -d

等待命令执行完毕,在浏览器输入ip:8080即可进入qbittorrent。

账号:admin

密码:adminadmin

至此qbittorrent安装结束。

之后在设置中修改账号密码。务必记下账号密码。

部署transmission

因为transmission原版的web界面非常简陋,因次我们需要给它配置个好看的web界面。

点击下方链接下载压缩包。

https://wwnj.lanzout.com/b01fthozc

密码:4l5p

将该压缩包解压后移动到transmission安装目录,按我的假设我应该移动到/volume1/docker/tr

接着ssh链接服务器进入容器的安装目录,并建立配置文件夹。

cd /volume1/docker/tr
mkdir -p ./config

创建compose文件

vim docker-compose.yml

按下i后,粘贴如下内容。

version: "3"

services:

  transmission:

    image: linuxserver/transmission:latest

    container_name: transmission

    environment:

      - PUID=0

      - PGID=0

      - TZ=Asia/Shanghai

      - USER=admin #登录名,如要修改请先修改再粘贴进去。

      - PASS=password #密码,如要修改请先修改再粘贴进去。

      - TRANSMISSION_WEB_HOME=/web

    volumes:

      - ./config:/config

      - ./web:/web #映射trweb路径

      - /volume1/other/种子库/tr:/config/torrents #映射tr种子下载路径

      - /volume1/媒体库:/volume1/媒体库

    ports:

      - 9091:9091

      - 51413:51413

      - 51413:51413/udp

    restart: unless-stopped

按下esc后,输入:wq ,保存并退出。

运行docker-compose命令

docker-compose up -d

等待命令执行完毕,在浏览器输入ip:9091即可进入transmission。

账号:admin #如有修改输入你自己修改后的账号

密码:password #如有修改输入你自己修改后的密码

至此transmission安装结束。

部署emby(可选)

进入容器的安装目录,并建立配置文件夹。

cd /volume1/docker/emby
mkdir -p ./config

创建compose文件

vim docker-compose.yml

按下i后,粘贴如下内容。

version: "3"

services:

  embyserver:

    image: lovechen/embyserver:latest #所安装的是破解版本,你也可以安装正版。

    container_name: emby

    volumes:

      - ./config:/config  # 这是必需的配置目录

      - /volume1/媒体库:/volume1/媒体库

      - /volume1/other/People:/config/metadata/people  # 映射演职人员库

    devices:

      - /dev/dri:/dev/dri            # 挂载渲染节点,用于 VAAPI/NVDEC/NVENC

    ports:

      - "8096:8096"

      - "8921:8920"

    environment:

      - UID=0

      - GID=0

按下esc后,输入:wq ,保存并退出。

运行docker-compose命令

docker-compose up -d

等待命令执行完毕,在浏览器输入ip:8096即可进入emby,按提示设置账号密码就好。

获取api

登录emby界面,依次点击设置-api秘钥

点击加号+新API密钥,输入mp后点击确定,复制api秘钥,并保存下来。

至此emby安装结束。

部署jellyfin(可选)

进入容器的安装目录,并建立配置文件夹。

cd /volume1/docker/jellyfin
mkdir -p ./config

创建compose文件

vim docker-compose.yml

按下i后,粘贴如下内容。

version: "3"

services:

  jellyfin:

    image: nyanmisaka/jellyfin:latest

    container_name: jellyfin

    environment:

      - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

      - NVIDIA_DRIVER_CAPABILITIES=compute,video,utility

      - LC_ALL=zh_CN.UTF-8

      - LANG=zh_CN.UTF-8

      - LANGUAGE=zh_CN:zh

      - PUID=0

      - PGID=0

      - devices=/dev/dri:/dev/dri   # 添加此行来设置设备以支持硬解

    volumes:

      - ./config:/config

      - /volume1/other/People:/config/metadata/people  # 映射演职人员库

    ports:

      - "8098:8096"

    restart: always

按下esc后,输入:wq ,保存并退出。

运行docker-compose命令

docker-compose up -d

等待命令执行完毕,在浏览器输入ip:8098即可进入jellyfin,按提示设置账号密码就好。

获取api

来到jellyfin的界面,依次进入设置-控制台-API秘钥

点击加号+,输入mp后点击确定,复制api秘钥,并保存下来。

至此jellyfin安装结束。

部署Moviepilot

进入容器的安装目录,并建立配置文件夹。

cd /volume1/docker/mp
mkdir -p ./config

创建compose文件

vim docker-compose.yml

按下i后,复制如下内容,并仔细阅读其中中文注释并填写配置后粘贴进去。

version: "3"

services:

  Moviepilot:

    image: jxxghp/moviepilot:latest

    container_name: Moviepilot

    ports:

      - "3000:3000"

      #目录基础映射部分

    volumes:

      - ./config:/config  # 挂载配置目录,注意确保当前目录下有 'config' 子目录

      - /volume1/媒体库:/volume1/媒体库

      - /volume1/other/种子库/qb:/qB #qb下载器种子目录

      - /volume1/other/种子库/tr:/Tr #tr种子目录,

      - /volume1/other/People:/metadata/People # 映射演职人员库

      - /var/run/docker.sock:/var/run/docker.sock:ro # 映射宿主机docker.sock文件到容器,以支持内建重启操作

    environment:

      - HOST=0.0.0.0  # 监听所有可用 IP 地址

      - MOVIEPILOT_AUTO_UPDATE=true  # 开启自动更新

      - SUPERUSER=admin  # 用户名,修改为你自己的。

      - SUPERUSER_PASSWORD=password  # 用户密码,修改为你自己的。

      - API_TOKEN=sntydejiaocheng  # API 访问令牌,可以修改,修改后记得同步在企业微信上修改。

      - TMDB_API_DOMAIN=api.tmdb.org # TMDB API地址,默认api.themoviedb.org,也可配置为api.tmdb.org、tmdb.movie-pilot.org 或其它中转代理服务地址,能连通即可

      - RECOGNIZE_SOURCE=themoviedb # 媒体信息识别来源,themoviedb/douban,默认themoviedb,使用douban时不支持二级分类

      - WALLPAPER=tmdb # 登录首页电影海报,tmdb/bing,默认tmdb

      #Github设置部分###############################################################

      - GITHUB_TOKEN= # 可选,Github token,提高自动更新、插件安装等请求Github Api的限流阈值,格式:ghp_****

      #媒体下载目录设置部分###############################################################

      - DOWNLOAD_PATH=/volume1/媒体库/影视库  # 下载目录

      - DOWNLOAD_CATEGORY=false  # 下载是否开启生成保存至二级目录

      - DOWNLOAD_SUBTITLE=true  # 是否下载字幕

      - REFRESH_MEDIASERVER=true  # 入库刷新媒体库,true/false,默认true

      - SCRAP_METADATA=true  # 刮削入库的媒体文件,true/false,默认true

      - SCRAP_FOLLOW_TMDB=true  # 新增已入库媒体是否跟随TMDB信息变化,true/false,默认true

      - LIBRARY_MOVIE_NAME=/volume1/媒体库/link  # 电影媒体库目录

      - LIBRARY_TV_NAME=/volume1/媒体库/link  # 电视剧媒体库目录

      - LIBRARY_ANIME_NAME=/volume1/媒体库/link  # 动漫媒体库目录

      - LIBRARY_CATEGORY=true  # 是否开机媒体库二级分类开关

      - TRANSFER_TYPE=link  # 转移方式,支持link/copy/move/softlink

      - TORRENT_TAG=MOVIEPILOT   # 种子标签,默认为MOVIEPILOT

      - LIBRARY_PATH=/volume1/媒体库/link  # 媒体库目录,多个目录使用,分隔

      #cookiecloud部分###############################################################

      - COOKIECLOUD_HOST=https://movie-pilot.org/cookiecloud  # CookieCloud服务器地址,建议使用自建的,不改动即为使用项目公共的。

      - COOKIECLOUD_KEY=6ocZ4CPFPtb96t5A56vCKD  # CookieCloud用户KEY,建议修改,自己要保存下来。

      - COOKIECLOUD_PASSWORD=bkASLcqdgiBk6kNVYa8Z6z  # CookieCloud端对端加密密码,建议修改,自己要保存下来。

      - COOKIECLOUD_INTERVAL=10  # CookieCloud同步间隔(分钟)

      #通知部分###############################################################

      - MESSAGER=wechat  # 消息通知方式

      - WECHAT_CORPID=  # 刚刚获取到的微信企业号ID

      - WECHAT_APP_SECRET=  # 刚刚获取到的微信应用secret

      - WECHAT_APP_ID=  #  刚刚获取到的微信应用ID

      - WECHAT_TOKEN=  #  刚刚获取到的微信令牌

      - WECHAT_ENCODING_AESKEY=  #  刚刚获取到的微信消息加密AES密钥

      - WECHAT_PROXY=  # 如果自己有公网ipv4就不用填,如果没有就填自己建立的微信代理

      - WECHAT_ADMINS= # 输入自己的刚刚获取到的微信账号

      #下载器部分###############################################################

      - DOWNLOADER=qbittorrent  # 下载器

      - QB_HOST=172.17.0.1:8080   # qBittorrent服务器地址和端口

      - QB_USER=admin # qBittorrent用户名

      - QB_PASSWORD=adminadmin # qBittorrent密码

      - TR_HOST=172.17.0.1:9090  # Transmission服务器地址和端口

      - TR_USER=admin # Transmission用户名

      - TR_PASSWORD=password # Transmission密码

      #媒体服务器部分###############################################################

      - MEDIASERVER=jellyfin,emby

      - MEDIASERVER_SYNC_INTERVAL=6  # 媒体服务器同步间隔(分钟)

      - JELLYFIN_HOST=172.17.0.1:8098  # Jellyfin服务器地址和端口

      - JELLYFIN_API_KEY= # Jellyfin服务器获取到的apikey

      - EMBY_HOST=172.17.0.1:8096 # Emby服务器地址和端口

      - EMBY_API_KEY= # emby服务器获取到的apikey

      #IYUU部分#######################################################

      - IYUU_SIGN= #IYUU令牌,用于辅种,可以去微信公众号爱语飞飞注册获取,前提是你有认证站点。

      #认证站点部分###############################################################

      - AUTH_SITE=  # 认证网站名称,

      - xxx_UID= #认证id/用户名

      - xxx_PASSKEY=  # 认证 passkey

      #第三方插件库部分################################################################

      - PLUGIN_MARKET=https://raw.githubusercontent.com/jxxghp/MoviePilot-Plugins/main/,https://raw.githubusercontent.com/honue/MoviePilot-Plugins/main/,https://raw.githubusercontent.com/thsrite/MoviePilot-Plugins/main/

      ################################################################

      - 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}}

按下esc后,输入:wq ,保存并退出。

运行docker-compose命令

docker-compose up -d

等待命令执行完毕,在浏览器输入ip:3000,输入设置好的账号密码即可可进入Moviepilot。

如果看到登录界面,但是输入账号密码登录不进去,可以先去看看日志,因为Moviepilot会下载前后端程序,需要点时间。

一切顺利进去看到如下界面,至此Moviepilot容器安装结束。

企业微信(下)

而到此时别忘记回到企业微信设置API接受消息处,点击保存,一切顺利的话此时已经能够保存了。

然后我们在应用往下滑找到企业可信ip选项,点击并输入我们的公网ip保存即可。

如果不想用企业微信来联动Moviepilot,我们可以在网页企业微信控制台,点击上方菜单栏的我的企业,接着点击微信插件,往下滑找到邀请关注二维码,用你的微信扫码,即可添加自己的企业到微信上,点击进去也能找到你设置的Moviepilot程序应用。

至此企业微信通知结束!

最后

到这里其实还才开始,我们还需要使用cookiecloud导入站点,之后我们就可以欢快的下载、刮削并愉快的观影啦!

受限篇幅,我们下期再见!

0

评论区