linux幼儿园

  • 首页
  • 信息安全
    • 红队
    • 密码学
  • 软件
  • 硬件
  • 活动目录
  • 知识点
  • linux干货
  • linux命令集
    • 磁盘管理
    • 文档编辑
    • 设备管理
    • 网络通讯
    • 系统管理
    • 文件管理
    • 其他命令
  1. 首页
  2. linux干货
  3. 正文

在 Linux 上安装 Plex Media Server ( Docker/deb )

2019年08月31日 90点热度 0人点赞 0条评论


通过 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

C
1
2
3
4
5
6
7
8
9
10
11
12
[crayon-60449e40bf9fc004163832 inline="true" ]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

[/crayon]

Bridge Networking (最麻烦)

如果您希望 Plex Media Server 可以在公网进行访问,则必须在路由器上手动设置端口转发到指定的ADVERTISE_IP。 默认情况下,您可以转发端口32400,但如果选择使用其他端口,请确保在 Plex Media Server 的远程访问设置中进行配置。 使用这种类型的 docker 网络,Plex Media Server 实质上在两层路由器后,它无法自动设置端口转发。

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
[crayon-60449e40bf9ff471271953 inline="true" ]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="&lt;timezone&gt;" \ #设置容器内时区, 参考<a href="https://en.wikipedia.org/wiki/List_of_tz_database_time_zones" target="_blank" rel="nofollow external noopener noreferrer" data-wpel-link="external">维基百科</a>中"TZ database name"
-e PLEX_CLAIM="&lt;claimtoken&gt;" \
-e ADVERTISE_IP="http://&lt;hostipaddress&gt;:32400/" \ #配置额外的IP
-h &lt;hostname&gt; \ #设置 Docker 内的主机名.
-v &lt;path&gt;:/config \ #储存配置文件的路径, 随着储存数量增加, 配置文件可能会变得很大.
-v &lt;path&gt;:/transcode \ #储存临时转码文件的目录, 需要约10G.
-v &lt;path media&gt;:/data \ #作为向容器提供媒体的范例目录. (笔者看不懂文档了.)
plexinc/pms-docker

[/crayon]

[在以上三种运行模式中] 可配置的其他参数:
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

本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可
标签: Plex
最后更新:2019年08月31日

jcghaier

from zero to hero

打赏 点赞
< 上一篇
下一篇 >

文章评论

取消回复
最新 热点 随机
最新 热点 随机
windows入侵检查流程 安全事件应急响应工具箱 利用腾讯轻量服务器搭建FRP服务 Windows局域网渗透(IPC$管道) 国内三大运营商宽带线路及分级介绍(联通篇) Windows Server 2012 R2 辅助域控制器搭建
windows入侵检查流程
lvchange命令 - 更改逻辑卷属性 zipsplit命令 - 分割压缩包 chpasswd命令 - 批量更新密码 yum-debug-restore命令 - 重播在调试转储文件中捕获的yum事务 lvmconf命令 - LVM配置修改 indent命令 - 调整代码文件格式
标签聚合
nmap zabbix X.509 防火墙 iptables Debian CentOS 勒索病毒 深信服 tcp
书签
  • Linux就该这么学
  • pfschina.org
  • ruyo
  • 佐须之男
  • 大象笔记
  • 小陈博客
  • 我能过软考
  • 教父爱分享
  • 散尽浮华
  • 现代魔法学院

COPYRIGHT © 2020 linux幼儿园. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS

51la