媒体播放器及媒体服务器软件Plex

什么是 Plex ?

Plex 是一套媒体播放器及媒体服务器软件,让用户整理在设备上的有声书、音乐、播客、图片和视频文件,并通过流式传输至移动设备、智能电视和电子媒体播放器上。Plex 可用于 WindowsAndroidLinuxOS XFreeBSD

在接触 NAS 之前,老苏一直是用旧笔记本 + Plex 搭建自己的流媒体服务器,实现了存储+索引+转码+网页播放,对于老苏来说,Plex 就是个非常完美的影音平台,后来只是因为更偏爱开源软件没有任何限制,才转投了 Jellyfin,但其实常规使用,Plex 完全能满足老苏的需求

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 pms-docker ,选择第一个 plexinc/pms-docker,版本选择 latest

本文写作时, latest 版本对应为 1.32.8.7639-fb6452ebf

docker cli 安装

如果你熟悉命令行,可能用 docker cli 更快捷

bash 复制代码
# 新建文件夹 plex 和 子目录
mkdir -p /volume1/docker/plex/{config,data,transcode}

# 进入 plex 目录
cd /volume1/docker/plex

# 运行容器
docker run -d \
   --restart unless-stopped \
   --name plex \
   -p 32400:32400/tcp \
   -p 8324:8324/tcp \
   -p 32469:32469/tcp \
   -p 1900:1900/udp \
   -p 32410:32410/udp \
   -p 32412:32412/udp \
   -p 32413:32413/udp \
   -p 32414:32414/udp \
   -v $(pwd)/config:/config \
   -v $(pwd)/transcode:/transcode \
   -v $(pwd)/data:/data \
   -e TZ=Asia/Shanghai \
   -e PLEX_CLAIM="<claimToken>" \
   -e ADVERTISE_IP="http://<hostIPAddress>:32400/" \
   -h <HOSTNAME> \
   plexinc/pms-docker

# 示例
docker run -d \
   --restart unless-stopped \
   --name plex \
   -p 32400:32400/tcp \
   -p 8324:8324/tcp \
   -p 32469:32469/tcp \
   -p 1901:1900/udp \
   -p 32410:32410/udp \
   -p 32412:32412/udp \
   -p 32413:32413/udp \
   -p 32414:32414/udp \
   -v $(pwd)/config:/config \
   -v $(pwd)/transcode:/transcode \
   -v $(pwd)/data:/data \
   -e TZ=Asia/Shanghai \
   -e PLEX_CLAIM="claim-xxxxxxxxxxxxxxxxxxxx" \
   -e ADVERTISE_IP="http://192.168.0.197:32400/" \
   -h ds3617xs \
   plexinc/pms-docker

文件夹 装载路径 说明
docker/plex/config /config 存储其配置数据
docker/plex/data /data 存储媒体数据
docker/plex/transcode /transcode 转码临时文件

端口

本地端口不冲突就行,不确定的话可以用命令查一下

bash 复制代码
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 容器端口 协议
32400 32400 tcp
8324 8324 tcp
32469 32469 tcp
1901 1900 udp
32410 32410 udp
32412 32412 udp
32413 32413 udp
32414 32414 udp

其中 1900 被群晖自带的 UPnP 协议守护进程 minissdpd 占用了,所以必须要改,其他的请根据自己的情况修改

环境变量

  • TZ:容器内的时区设置,国内用户可以设为 Asia/Shanghai
  • PLEX_CLAIM:可以在线获取,有效期只有 4 分钟,建议拉取镜像之后再获取,地址:https://www.plex.tv/claim

如果还没有 plex 账号,需要先注册一个;

  • ADVERTISE_IP:如果您希望您的 Plex 媒体服务器可以在家庭网络之外访问,则必须在路由器上手动设置端口转发以转发到上面,ADVERTISE_IP指定的端口。默认情况下,您可以转发端口 32400,但如果您选择使用其他外部端口,请务必在 Plex 媒体服务器的Remote Access设置中进行配置。对于这种类型的 Docker 网络,Plex 媒体服务器本质上位于两个路由器后面,并且它无法自行自动设置端口转发

例如:http://192.168.0.197:32400/,其中 192.168.0.197 为老苏群晖主机的 IP

其他参数

  • -h <HOSTNAME>:设置 docker 容器内的主机名。

docker-compose 安装

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

yaml 复制代码
version: '3'

services:
  plex:
    image: plexinc/pms-docker
    container_name: plex
    restart: unless-stopped
    ports:
      - 32400:32400/tcp
      - 8324:8324/tcp
      - 32469:32469/tcp
      - 1901:1900/udp
      - 32410:32410/udp
      - 32412:32412/udp
      - 32413:32413/udp
      - 32414:32414/udp
    environment:
      - TZ=Asia/Shanghai
      - PLEX_CLAIM=<claimToken>
      - ADVERTISE_IP=http://<hostIPAddress>:32400/
    hostname: <hostname>
    volumes:
      - ./config:/config
      - ./transcode:/transcode
      - ./data:/data

然后执行下面的命令

bash 复制代码
# 新建文件夹 plex 和 子目录
mkdir -p /volume1/docker/plex/{config,data,transcode}

# 进入 plex 目录
cd /volume1/docker/plex

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:32400 就能看到登录界面

登录成功后

可以同步不同端的观看状态

起个名字

添加资料库

选择类型

例如:电影

选择目录,不管容器外的路径是什么,这里是容器内的路径,所以选择 /data

高级中设置刮削

现在可以开始使用了

先扫描一下电影库

刮削基本上没问题

参考文档

plexinc/pms-docker: Plex Media Server Docker repo, for all your PMS docker needs.

地址:https://github.com/plexinc/pms-docker
Stream Movies & TV Shows | Plex

地址:https://www.plex.tv/zh/

相关推荐
ken_coding2 小时前
Windows11 WSL2的ubuntu 22.04中拉取镜像报错
linux·ubuntu·docker
自律的kkk5 小时前
docker配置镜像加速器
运维·docker·容器
陈小唬7 小时前
云服务器docker中Hbase整合java-api需要放行的接口
服务器·docker·hbase
苏少朋7 小时前
Docker安装 ▎Docker详细讲解 ▎数据卷挂载 ▎Nginx安装理解
linux·nginx·docker·容器
晚枫20007 小时前
kafka发送事件的几种方式
spring boot·分布式·docker·容器·kafka·intellij-idea·linq
StevenZeng学堂8 小时前
【Kubernetes笔记】为什么DNS解析会超时?
网络协议·docker·云原生·kubernetes
开着奔驰种地8 小时前
PaddleNLP本文分类及docker部署流程
深度学习·docker·文本分类·paddle
_院长大人_9 小时前
SpringBoot 整合docker,执行容器服务
java·docker·springboot
云计算练习生9 小时前
深入剖析Docker容器安全:挑战与应对策略
安全·docker·容器
wellshake11 小时前
在 Docker 中部署无头 Chrome:在 Browserless 中运行
chrome·docker·容器