介绍
自动安装Rclone、Docker,自动部署Plex服务端、Nginx服务端并自动签发SSL证书。
Nginx服务端自动对Plex服务端进行反带,使用自定义域名即可通过HTTPS对Plex进行访问,还可以将此域名直接接入CF进行加速。
系统要求
本文以Debian/Ubuntu系统为例
VPS:带宽最好大于100MB,性能不做要求
域名:用于CDN加速,可先对vps IP地址进行绑定
CF账号:选配项,用于CDN加速
使用方法
sudo curl https://install.emengweb.com/plex.sh | sudo bash
运行脚本,进行自动化安装。
脚本会自动创建/plex目录,并将docker-compose等资源文件放在此目录下。
配置Docker Compose文件
运行脚本之后,您还需要完成以下配置:
- 设置
域名DNS解析到本机IP- 修改
/plex/docker-compose.yml文件,确保正确设置FQDN-域名及邮箱地址CERTBOT_EMAIL- 将Rclone磁盘映射至/plex/disk的子目录下,例如:
/plex/disk/gd
启动Plex容器
以上准备工作完成后,输入以下命令启动 plex docker 容器。
cd /plex docker-compose up -d
配置Plex
Plex启动之后,需要通过ssh端口映射到本机才能进入管理员配置界面,将vps的32400端口映射至127.0.0.1:32400端口,用浏览器打开127.0.0.1:32400:
设置Plex的别名、媒体库设置可以先跳过。
设置完成后,点击进入到Plex服务器主界面,记得登录自己的Plex账号,并声明服务器。
配置Plex外部访问及关闭官方中继加速(减速)
进入Plex服务器设置,确保开启“显示高级设置”。
进入“网络”选项卡,滚动到页尾:
- 找到“
Custom server access URLs”,添加自定义访问URL,例:http://<vps ip>:80,如果已绑定cf域名还可输入域名地址,多个网址使用英文,进行分隔(端口记得于docker设置中保持一致)- 取消勾选"
Enable Relay",将停用Plex官方的中继加速服务,因为我们有独立IP且中继服务实际有带宽限制,实际对我们来说是减速行为,这里要关掉。
进入“远程访问选项”卡
- 点击“禁用远程访问”,由于已经设置了外部访问的IP和域名,这里我们将阻止所有其他的访问,避免类似中继对访问Plex服务照成负面影响
配置Plex转码加速
进入“转码器”选项卡
- 性能一般:勾选“
Disable video stream transcoding”。例如只有1~2核的情况,建议关闭视频转码,使用原码率观看影片,只要带宽足够,实测在播放20G的文件时也很流畅。- 性能不错:勾选“
Use hardware acceleration when available”及“Use hardware-accelerated video encoding”,开启硬件加速。
添加媒体库
(略)
开启Plex新世界的大门
现在,使用http://<ip或域名>直接访问Plex的服务,使用Web端或App就可以看到自己的Plex服务器了,播放视频速度也会快上许多。
Plex手机端APP设置
推荐使用APP进行观看,因为关闭转码之后,很多视频编码格式浏览器无法识别,使用网页端的Plex播放会提示没有足够的资源进行转码。
如果服务端关闭了视频转码,
Plex APP也需要关闭转码功能,设置方法:
- 设置>质量,关闭“
自动调整质量”,将“Remote streaming quality”设置为“最高的”,将“家庭串流”设置为“最高的”,取消“在移动网络使用低质量”选项。
如果还有其他主机中转的需求,请参看另一篇“进阶篇”进行配置。
现在,开始享受自己的影音库吧。
附文
附上plex.sh源文件内容:
#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
function rclone_install()
{
echo "检查Rclone......"
rclone --version
if [ $? -eq 0 ]; then
echo "检查到Rclone已安装!"
else
echo -e "\n| Rclone is installing ... "
curl https://rclone.org/install.sh | sudo bash
# 安装fuse 支持
sudo apt-get install -y fuse
fi
}
function docker_install()
{
echo "检查Docker......"
docker -v
if [ $? -eq 0 ]; then
echo "检查到Docker已安装!"
else
# 安装Docker
echo -e "\n| Docker is installing ... "
sudo apt-get update -y
curl -fsSL get.docker.com -o get-docker.sh
sudo sh get-docker.sh
rm -f get-docker.sh
# 安装Docker Compose
echo -e "\n| Docker Compose is installing ... "
sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
fi
# 创建公用网络==bridge模式
#docker network create share_network
}
function download_res()
{
echo -e "\n| Resource File Downloading ... "
sudo mkdir /plex
cd /plex
sudo curl -L https://install.emengweb.com/plex.tar.gz -o /plex/plex.tar.gz
sudo tar zxvf plex.tar.gz
rm -f plex.tar.gz
}
clear
echo "+============================================================+"
echo "| Plex with Nginx&SSL Installer |"
echo "| |"
echo "| <emengweb@gmail.com> |"
echo "|------------------------------------------------------------|"
echo "| https://emengweb.com |"
echo "+============================================================+"
echo -e "\n| 此Docker将自动帮您完成Nginx及SSL反带的配置,此后可直接通过https://域名进行访问Plex."
echo ""
# 安装基础组件
echo -e "\n| Basic components is installing ... "
sudo apt-get install -y curl
# 安装Rclone
rclone_install
# 安装Docker
docker_install
# 下载配置资源文件
download_res
# 启动Docker Compose
#echo -e "\n| Docker Compose Starting ... "
#sudo docker-compose up
# 配置完毕
clear
echo "+============================================================+"
echo "| |"
echo "| 目录配置 |"
echo "| /plex/conf.d - Nginx虚拟主机配置目录 |"
echo "| /plex/config:/config - Plex数据存储目录 |"
echo "| /plex/transcode:/transcode - 转码预留目录 |"
echo "| /plex/disk - Rclone请挂载在此目录下,例如gd目录 |"
echo "| |"
echo "+============================================================+"
echo ""
echo -e "\n| 配置完成."
echo -e "\n| 您还需要完成以下配置:"
echo -e "\n| 1、设置域名 DNS 解析到本机IP"
echo -e "\n| 2、修改 '/plex/docker-compose.yml' 文件,确保正确设置'FQDN'-域名及邮箱地址 'CERTBOT_EMAIL'"
echo -e "\n| 3、将Rclone磁盘映射至/plex/disk的子目录下,例如:/plex/disk/gd"
echo -e "\n| 以上准备工作完成后,进入/plex文件夹,输入 'docker-compose up -d' 启动 plex docker 容器,记得先映射至127.0.0.1:32400端口,打开浏览器完成plex的配置。"
echo -e "\n| 此Docker将自动帮您完成Nginx及SSL反带的配置,可直接通过https://域名进行访问Plex."
echo -e "\n| 祝好运."
#echo -e "\n| Done."
#echo -e "\n| Please set a Doman Name Resolution First"
#echo -e "\n| Then edit 'docker-compose.yml' file, be sure the 'CERTBOT_EMAIL' 'FQDN' be set correct"
#echo -e "\n| Check the Rclone be mount on"
#echo -e "\n| Then Input 'docker-compose up' to start plex docker"
emengweb