By accessing the website and accepting the Cookie Policy, you agree to use the cookies provided by the Site in accordance with to analyze traffic, remember your preferences, and optimize your experience.
自动化:快速搭建基于GD的Plex私人媒体库 - 基于Docker的Plex+Nginx+SSL自动安装配置脚本
2020-12-14 17:12:10    1034    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

1034 人读过
文档导航