Docker搭建Plex流媒体服务
- 安装Docker
- 创建存储配置文件的目录
- 创建Plex容器
- 配置Plex
- 设置媒体库
- 访问Plex
1 介绍
Plex是一个流媒体服务器,可以轻松地将你的媒体文件库(如电影、电视节目和音乐)通过网络流式传输到各种设备上。
- Plex 是一套媒体播放器及媒体服务器软件,提供了一整套完整的解决方案(Server + Client),支持众多平台和设备,对移动设备性能几乎没有要求,凡是能打开 web 看视频的设备,基本都能使用。 Plex支持远程访问,云同步及好友共享库功能,尤其适合家庭影音库、异地恋情侣观影。
其他类似软件:
- emby(收费)
- Jellyfin(收费)
- elfilm(免费非开源)
- infuse(收费)
刮削器在plex里叫做代理(agent)
2 安装部署过程
2.1 安装Docker
如果是windows或者mac可以直接安装docker desktop这个软件
如果是Linux(Ubuntu或者CentOS):
前提条件:
-
Docker可以运行在Windows、Mac、CentOS、Ubuntu等操作系统上
-
Docker支持以下的CentOS版本:
-
- CentOS 7 (64-bit)
- CentOS 6.5 (64-bit) 或更高的版本
-
目前,CentOS 仅发行版本中的内核支持 Docker
-
- Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。
- Docker 运行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系统为64位、系统内核版本为 2.6.32-431 或者更高版本。
- 查看系统内核
uname命令用于打印当前系统相关信息(内核版本号、硬件架构、主机名称和操作系统类型等)。
java
uname -r
- 查看已安装的CentOS版本信息
java
cat /etc/redhat-release
满足上面可以安装docker的条件即可安装。
docker官网:
安装手册:https://docs.docker.com/install/linux/docker-ce/centos(CE-社区版)
① 安装需要的软件包
yy -utils提供了yy-config-manager相关功能,device-mapper-persistent-data和lvm2是设备映射器驱动程序所需要的。
bash
yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
如果有以下报错信息:
报错:Another app is currently holding the yum lock; waiting for it to exit... 另一个应用程序是:PackageKit 内存:146 M RSS (497 MB VSZ) 已启动: Wed Oct 26 20:20:11 2022 - 00:07之前 状态 :运行中,进程ID:2874 Another app is currently holding the yum lock; waiting for
执行下面命令即可:
java
rm -f /var/run/yum.pid
② 设置docker镜像为阿里云、更新yum索引
①设置docker镜像为阿里云
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
②我们在更新或配置yum源之后,通常都会使用yum makecache 生成缓存,这个命令是将软件包信息提前在本地缓存一份,用来提高搜索安装软件的速度
shell
yum makecache fast
③ docker安装即后续配置
①安装docker ce
shell
yum install -y docker-ce
②启动docker
powershell
systemctl start docker
③查看docker版本
powershell
docker version
④设置docker是否开启自起
powershell
#查看服务是否自动启动(是:enabled | 否:disabled)
systemctl list-unit-files|grep docker.service
#设置开机启动:如不是enabled可以运行如下命令设置自启动
systemctl enable docker
#重新加载服务配置
systemctl daemon-reload
#如果希望不进行自启动,运行如下命令设置
systemctl disable docker
#重新加载服务配置
systemctl daemon-reload
⑤如果我们想卸载docker,执行以下命令
powershell
systemctl stop docker
yum remove -y docker-ce
rm -rf /var/lib/docker
拓展:有时候,我们需要不同的服务器部署相同的镜像,这个时候我们可以使用docker export / import来对镜像进行导入导出
导出:
bash
docker export f299f501774c > rabbit.tar
导入:
bash
docker import - myrabbit < rabbit.tar
2.2 创建配置文件目录
在你的系统上创建一个目录,用于存储Plex的配置文件。你可以使用以下命令创建目录:
bash
# 创建plex配置文件
mkdir -p /Users/ziyi/plex-config
# 创建自己本地存放媒体的文件夹
mkdir -p /Users/ziyi/media
2.3 docker创建plex
bash
docker run -d \
--name plex \
--restart=unless-stopped \
-p 32400:32400 \
-v /Users/ziyi/plex-config:/config \
-v /Users/ziyi/media:/data \
plexinc/pms-docker
-d:在后台运行容器;
--name plex:为容器指定名称为"plex";
--restart=unless-stopped:在容器停止或重启后自动重新启动;
-p 32400:32400:将主机的32400端口映射到容器的32400端口,这是Plex的默认端口;
-v /Users/ziyi/plex-config:/config:将主机上的"plex-config"目录挂载到容器的"/config"目录,用于存储Plex的配置文件;
-v /Users/ziyi/media:/data:将主机上的"media"目录挂载到容器的"/data"目录,用于存储媒体文件。
请将上述命令中的/Users/ziyi/plex-config和/Users/ziyi/media替换为实际的目录路径。
bash
# 查看plex是否启动成功,出现Up表明成功,否则表明失败
docker ps | grep plex
2.4 配置并访问
①注册或登录plex账号
现在,你可以通过访问 http://localhost:32400/web 来访问Plex的Web界面。首次访问时,你需要登录或创建一个Plex账号。
- 如果没有账号,可以通过邮箱注册
登录后,按照界面上的指引,完成Plex的初始设置。你可以设置服务器名称、语言、媒体库等。
一旦Plex配置完成,你可以通过"添加媒体库"选项来添加你的媒体文件夹。点击"添加媒体库"按钮,选择媒体类型(如电影、电视节目、音乐等),然后选择对应的媒体文件夹。
Plex将扫描并索引所选文件夹中的媒体文件,并在Web界面上显示它们。
✈️Plex工作原理:
你可以在Plex的Web界面上浏览和播放你的媒体文件,也可以使用Plex客户端应用程序在各种设备上观看。
②访问
现在,你可以通过浏览器或Plex客户端访问Plex服务器。在浏览器中访问 http://localhost:32400/web ,或使用Plex客户端应用程序。
- 主页会有Plex自己推荐的视频
③添加自己本地资料库(可选)
如果我们想要将自己本地的视频放在plex上播放,那么我们可以通过添加资料库实现
- 添加资料库
点击头像 - 选择账户 - 选择管理模块下的媒体库 - 点击添加资料库
-
选择对应的媒体类型和语言
-
添加文件夹
指明该资料库扫描哪个文件夹下的媒体视频
- 我本地的媒体视频等都在/Users/ziyi/media下,在开始创建docker时,我已经将/Users/ziyi/media目录绑定到了plex容器内部的/data目录,所以这里我直接选择/data
- 创建容器时候的挂载卷参数:
-v /Users/ziyi/media:/data
我已经添加了我本地资料库,可以点击扫描资料库,将本地视频扫描到plex中。
- 回到主页,播放自己媒体库的视频
播放:
❓tips:
- 主页上手动扫描文件
配置自动扫描本地媒体文件并更新