Docker - 设置Plex



Plex 是一款功能强大的媒体服务器,允许用户组织、流式传输和访问其媒体库中的内容,无论使用何种设备。它具有直观的界面,任何用户都可以轻松地组织电影、电视剧、音乐和照片,并在任何他们想要的平台上无缝播放。

使用 Docker,您可以将 Plex 及其依赖项打包到一个容器中,从而保证其在任何环境中都能始终如一地执行。这减少了兼容性问题,并使扩展、更新或以其他方式管理您的 Plex 服务器变得更加容易。

Docker 化 Plex 的先决条件

在开始 Docker 化 Plex 的步骤之前,请确保您具备以下先决条件:

  • Docker 安装 - 基本要求是在您的系统上安装 Docker。您可以从官方网站下载并安装它:https://www.docker.net.cn/get-started
  • Docker 基础知识 - Docker 的基本概念,例如镜像、容器和 Dockerfile,将非常有用。
  • Plex Media Server 账户 - 要设置和访问您的媒体服务器,您需要拥有一个 Plex 账户。如果您还没有账户,可以在 Plex 网站 上创建一个。
  • 准备媒体文件 - 确保您的媒体文件井井有条,并在 Plex 服务器启动并运行后随时可用。
  • 足够的可用磁盘空间 - 确保有足够的磁盘空间用于 Docker 镜像和您的媒体文件。

设置 Plex 项目

让我们逐步了解如何设置 Plex 项目:

创建项目目录

让我们运行命令:mkdir plex-docker && cd plex-docker。这将帮助我们创建并导航到 Plex 项目目录。

Setting up a Plex Project

初始化项目

现在,让我们通过运行 touch Dockerfile docker-compose.yml 来创建 Dockerfile 和 Docker Compose 文件,从而创建一个基本结构。

Initialize the Project

目录结构

我们的项目目录现在应该如下所示:

plex-docker/
├── Dockerfile
└── docker-compose.yml

在本地运行 Plex

首先,让我们导航到 Plex 下载页面 并下载适合我们操作系统的安装程序(Windows、macOS 或 Linux)。

接下来,我们可以运行下载的安装程序并按照屏幕上的说明完成安装。对于 Linux,我们可以使用包管理器进行安装,例如,对于 Debian/Ubuntu:

$ sudo dpkg -i plexmediaserver_<version>_amd64.deb

我们应该将 <version> 替换为下载的软件包的实际版本号。

安装完成后,Plex Media Server 应该会自动启动。如果没有,我们也可以手动启动它。对于 Windows/macOS,我们可以在应用程序或开始菜单中找到 Plex 并启动它。对于 Linux,我们可以使用以下命令启动服务器:

$ sudo systemctl start plexmediaserver

接下来,我们可以通过检查系统托盘图标或验证 Linux 上的服务状态来确保 Plex 正在运行:

$ sudo systemctl status plexmediaserver

要访问 Plex Web App,我们可以打开 Web 浏览器并转到 https://127.0.0.1:32400/web 以访问 Plex Web UI。此 URL 将加载 Plex 设置界面,您可以在其中配置您的媒体服务器。

创建 Dockerfile

在项目目录中创建一个名为 Dockerfile 的文件,并包含以下内容。

# Use the official Plex Media Server image from Plex
FROM plexinc/pms-docker

# Set environment variables if needed (e.g., for Plex claim token)
# Uncomment and replace YOUR_PLEX_CLAIM_TOKEN with your actual token

# ENV PLEX_CLAIM=YOUR_PLEX_CLAIM_TOKEN

# Define the volume paths to persist Plex data and media
VOLUME ["/config", "/transcode", "/data"]

# Expose necessary ports for Plex functionality
EXPOSE 32400/tcp 3005/tcp 8324/tcp 32469/tcp 1900/udp 32410/udp 32412/udp 32413/udp 32414/udp

# Set the default command to run Plex Media Server
CMD ["/usr/lib/plexmediaserver/Plex Media Server"]

解释

  • FROM plexinc/pms-docker - 指定 Plex Media Server 的基础镜像,确保您使用官方且更新的版本。
  • ENV PLEX_CLAIM=YOUR_PLEX_CLAIM_TOKEN - 可选;设置 Plex 声明令牌以进行自动服务器声明(默认情况下已注释掉)。
  • VOLUME ["/config", "/transcode", "/data"] - 为 Plex 配置、转码和媒体文件定义持久卷。
  • EXPOSE 32400/tcp 3005/tcp 8324/tcp 32469/tcp 1900/udp 32410/udp 32412/udp 32413/udp 32414/udp - 公开 Plex 服务和网络通信所需的端口。
  • CMD ["/usr/lib/plexmediaserver/Plex Media Server"] - 指定在容器内启动 Plex Media Server 的默认命令。

构建 Plex 镜像

让我们运行以下命令,使用我们刚刚创建的 Dockerfile 构建 Plex Docker 镜像。

$ docker build -t plex-media-server .

-t plex-media-server - 使用名称 plex-media-server 标记镜像。

.: 它指定构建上下文,使用当前目录。

Building the Plex Image

要检查镜像是否已成功创建,我们可以列出所有 Docker 镜像。

$ docker images

我们可以在镜像列表中找到 plex-media-server

plex media server

运行 Plex Docker 容器

现在我们已经准备好了镜像,让我们使用构建的镜像启动一个新的容器:

$ docker run -d --name plex -p 32400:32400 
   -v /path/to/config:/config -v /path/to/transcode:/transcode 
   -v /path/to/media:/data plex-media-server
  • -d - 以分离模式(后台)运行容器。
  • --name plex - 将容器命名为 plex。
  • -p 32400:32400 - 将容器的 32400 端口映射到主机的 32400 端口以访问 Plex。
  • -v /path/to/config:/config - 映射 Plex 配置的主机目录。
  • -v /path/to/transcode:/transcode - 映射 Plex 转码的主机目录。
  • -v /path/to/media:/data - 映射存储媒体文件的主机目录。
  • plex-media-server - 指定要用于容器的镜像。

让我们检查容器是否正在运行:

$ docker ps
Running the Plex Docker Container

要访问 Plex Web UI,我们可以打开浏览器并转到 https://127.0.0.1:32400/web。

结论

在本章中,我们讨论了 Docker 化 Plex Media Server 的过程,从设置项目到在本地运行 Plex 容器。首先,我们创建了定义 Plex 镜像所需的 Dockerfile。

接下来,我们逐步处理了如何为 Plex 创建 Docker 镜像以及如何运行 Plex 容器,并提供必要的配置和卷映射。

您可以继续进行 Plex 的高级配置,集成更多 Docker 服务,或扩展当前设置以进行广泛的媒体管理。您还可以考虑自动备份和更新。

关于 Docker 化 Plex Media Server 的常见问题

在本节中,我们收集了一组关于如何 Docker 化 Plex Media Server 的常见问题:

1. 如何访问 Docker 化的 Plex Media Server?

要访问在 Docker 中运行的 Plex Media Server,请启动您喜欢的 Web 浏览器,并将其指向 Docker 主机的 IP 地址和相应的端口。根据您的环境,您可能需要配置端口转发或网络设置。

2. 如何在 Docker 化的 Plex Media Server 中添加媒体库?

要在 Docker 化的 Plex Media Server 中添加媒体库,请将包含媒体文件的卷挂载到容器中。配置 Plex Media Server 以在挂载的卷上搜索媒体内容。

在 Plex Media Server 中可能需要进一步的设置才能匹配您的媒体库结构。

3. 如何配置 Plex Media Server 以在 Docker 容器中访问外部存储?

要在 Docker 容器内的 Plex Media Server 中使用外部存储,您必须将外部存储作为卷挂载到容器中。然后,您必须确保 Plex Media Server 具有访问挂载的卷的正确权限。

您可能需要配置 Plex Media Server 设置以指向存储所在的位置。

广告