通过 DEB 安装
应该是最简单的方式了吧. 先在官方网站找到适配自己系统的软件包并下载. 测试时使用 Debian.
下载完成后, 在 Root 权限下运行: dpkg -i plexmediaserver*.deb
进行安装.
如果出现软件包依赖错误, 可以尝试运行 apt install -f
.
如果需要卸载: dpkg --purge plexmediaserver
即可.
配置开机自启.
systemctl enable plexmediaserver.service && systemctl start plexmediaserver.service
至此, 安装已经全部完成, 下面是 Docker 的安装方法.
通过 Docker 安装
Plex 官方提供了镜像 pms-docker
支持 Bridge Host MacVLAN 三种网络类型.
Bridge: 在主机内部创建完整的网络并运行容器. 通过内部路由器连接到物理网络.
Host: 使用主机的 IP 地址, 使容器的网络就像是主机本身.
MacVLAN: 在网络上将容器作为一个新的虚拟主机创建.
后两者配置方式类似且较为方便, 但是默认的桥接模式适用于某些特殊网络.
Host Networking
docker run \
-d \
--name plex \
--network=host \
-e TZ="" \
-e PLEX_CLAIM="" \
-v :/config \
-v :/transcode \
-v :/data \
plexinc/pms-docker
Macvlan Networking
docker run \ -d \ --name plex \ --network=physical \ #你可以改成喜欢的网络名 --ip=<ipaddress> \ #指定容器的IP地址, 非必填. -e TZ="<timezone>" \ -e PLEX_CLAIM="<claimtoken>" \ -h <hostname> \ #设置 Docker 内的主机名. -v <path>:/config \ -v <path>:/transcode \ -v <path media>:/data \ plexinc/pms-docker
Bridge Networking (最麻烦)
如果您希望 Plex Media Server 可以在公网进行访问,则必须在路由器上手动设置端口转发到指定的ADVERTISE_IP。 默认情况下,您可以转发端口32400,但如果选择使用其他端口,请确保在 Plex Media Server 的远程访问设置中进行配置。 使用这种类型的 docker 网络,Plex Media Server 实质上在两层路由器后,它无法自动设置端口转发。
docker run \ -d \ --name plex \ -p 32400:32400/tcp \ #管理界面端口 -p 3005:3005/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 \ -e TZ="<timezone>" \ #设置容器内时区, 参考维基百科中"TZ database name" -e PLEX_CLAIM="<claimtoken>" \ -e ADVERTISE_IP="http://<hostipaddress>:32400/" \ #配置额外的IP -h <hostname> \ #设置 Docker 内的主机名. -v <path>:/config \ #储存配置文件的路径, 随着储存数量增加, 配置文件可能会变得很大. -v <path>:/transcode \ #储存临时转码文件的目录, 需要约10G. -v <path media>:/data \ #作为向容器提供媒体的范例目录. (笔者看不懂文档了.) plexinc/pms-docker
[在以上三种运行模式中] 可配置的其他参数:
PLEX_UID: 在容器内部的 Plex 用户ID.
PLEX_GID: 在容器内部的 Plex 用户组ID.
CHANGE_CONFIG_DIR_OWNERSHIP:
修改配置文件目录所有权为 Plex 用户, 默认为 True. 如果已设置权限, 可改为 False 以加快首次运行.
ALLOWED_NETWORKS: 允许未经验证访问服务器的 IP段. 例如: 127.0.0.1/8.
[ 如果使用桥接网络, Docker网关的IP通常为 172.16.0.1 ]
用户与组
容器外部媒体文件的访问权限作用于在容器内部的 Plex 服务器.
但是 Plex 作为容器内部创建的用户, 可能不存在于容器外部.
如果想让 Plex 以和当前用户(外部) 相同的权限运行. 可以这么做:
运行id `whoami`
, 得到的回显像这样: uid=1001(myuser) gid=1001(myuser) groups=1001(myuser)
将 PLEX_UID 和 PLEX_GID 设置成与你本地用户相同的即可.
配置目录
在 Docker 内部, 数据库被储藏于 config 目录下的 Library/Application Support/Plex Media Server
如果你想把通过其他方式安装的数据库迁移到这里, 可以先参考官方文档来找到数据库目录.
若配置文件被存在这里 /var/lib/plexmediaserver/Library/Application Support/Plex Media Server/
, 配置目录将是 /var/lib/plexmediaserver
.
如果配置目录不包含 Library/Application Support/Plex Media Server/
或者文件夹 Library
内有与 Plex 无关的数据. 那你应该:
- 创建新目录来储存配日志文件
- 在配置文件目录中, 创建文件夹
Library/Application Support
- 把
Plex Media Server
复制到Library/Application Support
注意: Plex 会获取配置文件目录的所有权, 所以目录中不应该有你认为它不该获得权限的文件.
控制方法
- 启动容器
docker start plex
- 停止容器
docker stop plex
- 进入运行中的容器
docker exec -it plex /bin/bash
- 实时查看脚本日志
docker logs -f plex
- 重启并升级到最新版
docker restart plex
官方Docker 文档地址: https://hub.docker.com/r/plexinc/pms-docker