自动化:快速搭建基于GD的Plex私人媒体库 - 基于Docker的Plex+Nginx+SSL自动安装配置脚本
2020-12-14 17:12:10    538    0    0
emengweb

介绍

自动安装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文件

运行脚本之后,您还需要完成以下配置:

  1. 设置域名DNS解析到本机IP
  2. 修改 /plex/docker-compose.yml 文件,确保正确设置FQDN-域名及邮箱地址 CERTBOT_EMAIL
  3. 将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 "|                                       <[email protected]> |"
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"

 

 

 

上一篇: 快速搭建基于Google Drive的Plex私人媒体库(附加CDN提速方法)

下一篇: 安装docker和docker compose

538 人读过
文档导航