什么是 Plex ?
Plex
是一套媒体播放器及媒体服务器软件,让用户整理在设备上的有声书、音乐、播客、图片和视频文件,并通过流式传输至移动设备、智能电视和电子媒体播放器上。Plex
可用于Windows
、Android
、Linux
、OS X
和FreeBSD
。
在接触 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