部署Plex并挂载Alist
服务器部署 Plex 服务并通过 Rclone 挂载网盘。

前言

由于最近 Netflix 清退了一大批低价区用户,并且不退款,需要与银行争议,就开了一个月的土耳其区,然而土耳其第一个月并不能用土耳其之外的 IP 观看,白白浪费一个月,虽然最近尼日利亚的低价已经超过了巴基斯坦,但还是决定放弃了,花钱找罪受,不如买个 Emby 。 之后在网上看到可以通过服务器部署 Plex Media Server ,将 Alist 挂载到服务器,Plex 添加 Alist 目录,然后 infuse 连接 Plex ,这样可以实现刮削,并且全平台同步,还可以搭配 Aria2 下载自动上传网盘,达到良好的观影效果。

一、可执行程序部署

1. 部署 Plex

部署可以通过可执行程序,也可以通过 docker ,如果想挂载 alist ,记得和 alist 程序安装在同一台服务器。

部署程序

1# centos
2yum -y update && yum -y install
3wget https://downloads.plex.tv/plex-media-server-new/1.32.8.7639-fb6452ebf/redhat/plexmediaserver-1.32.8.7639-fb6452ebf.x86_64.rpm
4yum install plexmediaserver*.rpm
5# Debian/Ubuntu系统
6apt-get -y update && apt-get -y upgrade
7wget https://downloads.plex.tv/plex-media-server-new/1.32.8.7639-fb6452ebf/debian/plexmediaserver_1.32.8.7639-fb6452ebf_amd64.deb
8dpkg -i plexmediaserver*.deb

设置开机自启

1systemctl enable plexmediaserver.service
2systemctl start plexmediaserver.service
3# 状态查询
4systemctl status plexmediaserver.service

安装完成可以通过 http://ip地址:32400 进入后台管理,如果运行正常却无法打开,可能是防火墙问题,命令如下,也可以宝塔面板直接放行。

1#CentOS 7
2systemctl stop firewalld.service
3systemctl disable firewalld.service
4#其它系统
5iptables -I INPUT -p tcp --dport 32400 -j ACCEPT
6service iptables save                              
7service iptables restart

2. 后台设置

安装完成后进入后台会发现无法找到服务器,这是因为 Plex 安全策略,第一次登录只允许本地 IP 可以通过端口转发或隧道转发解决。

端口转发

Windows 打开 Power shell,然后通过下列命令连接服务器:

1ssh root@服务器IP -L 8888:localhost:32400

浏览器打开:http://localhost:8888/web 就可以正常设置。

隧道转发

这里以 FinalShell 为例,ssh 连接设置中添加如下隧道

隧道示例

连接服务器,浏览器打开 http://localhost:8888/web 即可。

3. 卸载

1# centos
2rpm -e plexmediaserver
3rm -rf/var/lib/plexmediaserver/
4userdel plex
5
6# ubuntu/debian
7dpkg -r plexmediaserver
8rm -rf /var/lib/plexmediaserver/Library/Application Support/Plex Media Server/

二、Docker 部署

1. 安装 docker 和 docker-compose

 1# 卸载旧版本
 2sudo apt-get remove docker \
 3             docker-engine \
 4             docker.io
 5curl -fsSL get.docker.com -o get-docker.sh
 6# 启动并设置开机自启
 7sudo systemctl enable docker
 8sudo systemctl start docker
 9# 安装 docker-compose
10sudo curl -L "https://github.com/docker/compose/releases/download/1.29.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
11sudo chmod +x /usr/local/bin/docker-compose
12# 可用以下命令测试安装
13docker-compose --version

2. 创建目录

1sudo mkdir /plex
2sudo mkdir /plex/{data,tv,movies}
3cd /plex
4vim ./docker-compose.yml

粘贴下列命令

 1services:
 2  plex:
 3    image: lscr.io/linuxserver/plex:latest
 4    container_name: plex
 5    network_mode: host
 6    environment:
 7      - PUID=1000
 8      - PGID=1000
 9      - TZ=Asia/Shanghai
10      - VERSION=docker
11      - PLEX_CLAIM= #optional
12    volumes:
13      - /plex/data:/config  # Library 目录,可能变得很大
14      - /plex/tv:/tv
15      - /plex/movies:/movies
16    # - /CloudNAS:/CloudNAS    # 这是将 Clouddrive 的挂载目录映射到 plex 容器中,也可以更换            
17    restart: unless-stopped
  • PUIDPGID用于配置容器内进程的UIDGID,全都设置为 0 表示以root用户运行,如果你这里不是很明白的话可以无脑设置为 0 以避免部分权限问题
  • PLEX_CLAIM环境变量用于认证自己的服务器,可以从 这里 获取(注意需要可用的plex账号), 另外 claim 的有效期一般只有 4 分钟 ,如果服务器网络不佳,建议先通过执行docker-compose pull拉取镜像之后再获取,防止过期(虽说过期后再重新 claim 也行)

3. 启动容器

1docker-compose up -d

浏览器打开 http://IP地址:32400/web 进入后台,出现无法找到服务器同样需要通过映射本地端口。

三、挂载网盘

💡 挂载程序有很多,这里以 rclonecloudrive2(推荐)为例。

1. rclone

首先安装依赖和程序

1# 安装依赖
2apt-get install fuse3
3# 安装 rclone
4curl https://rclone.org/install.sh | sudo bash

接下来设置 rclone,终端输入 rclone config ,随后输入 n 添加远程设备,这里接下来的代码直接参考别人的:

 1# 选择新远程
 2No remotes found, make a new one?
 3n) New remote
 4s) Set configuration password
 5q) Quit config
 6n/s/q> n #这里选择n
 7
 8# 设置名字
 9name> remote
10Type of storage to configure.
11Choose a number from below, or type in your own value
12[snip]
13XX / WebDAV
14   \ "webdav"
15[snip]
16Storage> webdav #这里输入远程的名字,之后就是你的远程名称
17
18# 设置远程地址url http://your_alist_ip:port/dav
19URL of http host to connect to
20Choose a number from below, or type in your own value
21 1 / Connect to example.com
22   \ "https://example.com"
23url> http://127.0.0.1:5244/dav #这里设置alist的地址和端口,后面要带dav,这是alist要求的
24
25# 这里选6就可以了,1-5都不是我们使用的
26Name of the WebDAV site/service/software you are using
27Choose a number from below, or type in your own value
28 1 / Fastmail Files
29   \ (fastmail)
30 2 / Nextcloud
31   \ (nextcloud)
32 3 / Owncloud
33   \ (owncloud)
34 4 / Sharepoint Online, authenticated by Microsoft account
35   \ (sharepoint)
36 5 / Sharepoint with NTLM authentication, usually self-hosted or on-premises
37   \ (sharepoint-ntlm)
38 6 / Other site/service or software
39   \ (other)
40vendor> 6
41
42# 设置远程账号
43User name
44user> admin #这里是你alist的密码
45
46# 设置远程密码
47Password.
48y) Yes type in my own password
49g) Generate random password
50n) No leave this optional password blank
51y/g/n> y #这里输入y
52Enter the password: #这输入你的密码,密码是看不到的
53password:
54Confirm the password: #再次输入你的密码
55password:
56
57# 这里直接回车即可
58Bearer token instead of user/pass (e.g. a Macaroon)
59bearer_token>
60Remote config
61
62# 这里可能会问你是默认还是高级,选择默认即可
63
64# 你的远程信息
65--------------------
66[remote]
67type = webdav
68url = http://127.0.0.1:5244/dav
69vendor = Other
70user = admin
71pass = *** ENCRYPTED ***
72--------------------
73
74# 确认
75y) Yes this is OK
76e) Edit this remote
77d) Delete this remote
78y/e/d> y #输入y即可,
79
80# 最后按q退出设置

连接后需要挂载到本地,输入如下命令:

1# 最后的 daemon 是后台挂载
2rclone mount 远程网盘名字:/ /本地挂载地址 --cache-dir /tmp --allow-other --vfs-cache-mode writes --allow-non-empty --daemon

这样虽然后台挂载了,但是每次重启都需要重新运行,我们可以设置一个开机自启的文件:

1#创建service文件
2vim /usr/lib/systemd/system/rclone.service

输入如下内容:

1[Unit] 
2Description=rclone 
3 
4[Service] 
5User=root 
6ExecStart=/usr/bin/rclone mount 远程网盘名字:/ /本地挂载目录 --cache-dir /tmp --allow-other --vfs-cache-mode writes --allow-non-empty --daemon
7[Install] 
8WantedBy=multi-user.target

重载配置文件,并设置开机自启:

1# reload守护进程
2systemctl daemon-reload
3 
4# 设置service文件自启
5systemctl enable rclone.service
6 
7# 启动service文件
8systemctl start rclone.service

2. Clouddrive2

rclone 需要命令行操作,并且使用过程中出现了一些问题,这里推荐另一种有 web 界面的挂载方式 clouddrive2,官网地址如下:

CloudDrive - Home

安装非常简单,直接使用别人做好的一键脚本,通过 docker 安装,地址如下:

https://github.com/sublaim/clouddrive2

  1. 安装命令
1# 国内加速(推荐)
2curl -fsSL "https://mirror.ghproxy.com/https://raw.githubusercontent.com/sublaim/clouddrive2/main/cd2.sh" | bash -s install mirror
3# 代理
4curl -fsSL "https://raw.githubusercontent.com/sublaim/clouddrive2/main/cd2.sh" | bash -s install
  1. 卸载命令
1# 国内加速(推荐)
2curl -fsSL "https://mirror.ghproxy.com/https://raw.githubusercontent.com/sublaim/clouddrive2/main/cd2.sh" | bash -s uninstall mirror
3# 代理
4curl -fsSL "https://raw.githubusercontent.com/sublaim/clouddrive2/main/cd2.sh" | bash -s uninstall

💡 注意:如果 plex 是通过 docker 安装的,需要添加 -v 参数,将 clouddrive2 映射的目录映射到 plex 中。

  1. 设置后台。安装完成后终端会输出访问地址,通过 http://ip:19798 就可以访问。
  2. 进入后首先注册账号,然后点击云朵图标添加网盘,选择 webdav , 设置地址如下:

webdav地址

  1. 挂载 webdav 到本机,先点击右上角的电脑图标,然后挂载到 /CloudNAS 目录下,可以修改一下权限。

挂载地址

💡 注意:clouddrive 免费用户只可以添加两个网盘,挂载一个网盘,但我们可以首先通过 alist 挂载所有网盘,再将 alist 通过 webdav 挂载。

这样所有的安装都结束了,我们可以在 plex 中设置媒体文件夹,刮削完后可以在移动端通过 infusevidhub 等应用挂载 plex,这样就能拥有一个资源丰富界面精美的媒体库。

参考


最后修改于 2024-02-09