首页 程序笔记 如何在 Docker 容器中运行 Emby 媒体服务器

如何在 Docker 容器中运行 Emby 媒体服务器

Emby 是一款出色的媒体/剧院应用程序,使您能够将所有电影、视频、音乐、有声读物、游戏和照片收集到一个地方。借助 Emby,您可以非常简单地在家里配置个人媒体服务器,能够自动转换和流式传输您的媒体,并可以在任何设备上播放。 Emby 具有良好的家长控制限制,适合有访问权限的儿童在家庭使用,您可以创建用户、创建访问计划、时间限制等。

在本教程中,我们将执行安装、探索所需的配置以及在容器内运行的 Emby Media Server 的一般用法。在 Docker 容器中运行 Emby 的优点是不依赖于特定的 Linux 操作系统,只有 Docker Engine 和oom!。 Emby Server 构建在流行的开源技术之上,例如 jQuery、Service Stack、jQuery mobile 和 .NET Core。

安装 Docker 引擎

查看我们的文章,其中介绍了在 Linux 系统上安装 Docker 引擎。

  • 如何在 Linux 系统上安装 Docker 引擎

可以通过命令行检查已安装的 Docker 版本。

$ docker version
Client: Docker Engine - Community
 Version:           25.0.3
 API version:       1.44
 Go version:        go1.21.6
 Git commit:        4debf41
 Built:             Tue Feb  6 21:13:09 2024
 OS/Arch:           linux/amd64
 Context:           default

Server: Docker Engine - Community
 Engine:
  Version:          25.0.3
  API version:      1.44 (minimum version 1.24)
  Go version:       go1.21.6
  Git commit:       f417435
  Built:            Tue Feb  6 21:13:09 2024
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.28
  GitCommit:        ae07eda36dd25f8a1b98dfbf587313b99c0190bb
 runc:
  Version:          1.1.12
  GitCommit:        v1.1.12-0-g51d5e94
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

创建 Docker Compose 文件

Compose 用于简化对主机上运行的容器的控制。在单个 YAML 配置文件中简化了网络、服务和卷的管理。使用单个 docker compose 或 docker-compose 命令,您可以创建、启动、停止或删除 YAML 配置文件中定义的所有服务。

让我们创建一个用于运行 Emby Media Server 的配置文件。

mkdir ~/emby && cd ~/emby
vim docker-compose.yml

修改以下内容并粘贴到文件中。

services:
  emby:
    image: emby/embyserver
    container_name: embyserver
    network_mode: host # Enable DLNA and Wake-on-Lan
    environment:
      - UID=1000 # The UID to run emby as (default: 2)
      - GID=100 # The GID to run emby as (default 2)
      - GIDLIST=100 # A comma-separated list of additional GIDs to run emby as (default: 2)
    volumes:
      - ./data:/config # Configuration directory
      - /path/to/tvshows:/mnt/share1 # Media directory
      - /path/to/movies:/mnt/share2 # Media directory
    ports:
      - 8096:8096 # HTTP port
      - 8920:8920 # HTTPS port
    restart: on-failure

在哪里;

  • UID、GID 和 GIDLIST 值与您的媒体文件的所有者匹配
  • /path/to/tvshows 是电视节目的路径
  • /path/to/movies 是本地电影的路径

运行 ls -l 将显示媒体目录和渲染节点的用户和组信息。

要打印 UID 和 GID,请使用 getent passwd | cut -d: -f3getent 组 |分别剪切 -d: -f3

要启动 Emby 服务器,请运行以下命令。

$ docker compose up -d
[+] Running 5/5
 ✔ emby 4 layers [⣿⣿⣿⣿]      0B/0B      Pulled                                                                                                                                                  15.6s
   ✔ 8dfc70c9a1cf Pull complete                                                                                                                                                                  0.4s
   ✔ dfdf7ff41865 Pull complete                                                                                                                                                                  3.0s
   ✔ 2e11cacd3fbe Pull complete                                                                                                                                                                  1.6s
   ✔ 9bfa438fee60 Pull complete                                                                                                                                                                  1.1s
[+] Running 0/1
 ⠋ Container embyserver  Creating
[+] Running 2/2
 ✔ Container embyserver                                            Started

检查容器状态

$ docker compose ps
NAME         IMAGE             COMMAND   SERVICE   CREATED          STATUS          PORTS
embyserver   emby/embyserver   "/init"   emby      50 seconds ago   Up 49 seconds

Emby 服务器将侦听的端口。

#  ss -tunelp | grep -i EmbyServer
udp   UNCONN 0      0               127.0.0.1:55124      0.0.0.0:*    users:(("EmbyServer",pid=3803,fd=246)) uid:1000 ino:34141 sk:1 cgroup:/system.slice/docker-fdc36525965470ea8ac04103ffaa3494148add08893f4a637b87410b93399349.scope <->
udp   UNCONN 0      0                 0.0.0.0:1900       0.0.0.0:*    users:(("EmbyServer",pid=3803,fd=243)) uid:1000 ino:34138 sk:2 cgroup:/system.slice/docker-fdc36525965470ea8ac04103ffaa3494148add08893f4a637b87410b93399349.scope <->
udp   UNCONN 0      0                 0.0.0.0:44936      0.0.0.0:*    users:(("EmbyServer",pid=3803,fd=244)) uid:1000 ino:34139 sk:3 cgroup:/system.slice/docker-fdc36525965470ea8ac04103ffaa3494148add08893f4a637b87410b93399349.scope <->
udp   UNCONN 0      0           49.13.153.179:57349      0.0.0.0:*    users:(("EmbyServer",pid=3803,fd=245)) uid:1000 ino:34140 sk:4 cgroup:/system.slice/docker-fdc36525965470ea8ac04103ffaa3494148add08893f4a637b87410b93399349.scope <->
udp   UNCONN 0      0                       *:7359             *:*    users:(("EmbyServer",pid=3803,fd=239)) uid:1000 ino:34137 sk:7 cgroup:/system.slice/docker-fdc36525965470ea8ac04103ffaa3494148add08893f4a637b87410b93399349.scope v6only:0 <->
tcp   LISTEN 0      512                     *:8096             *:*    users:(("EmbyServer",pid=3803,fd=208)) uid:1000 ino:34121 sk:a cgroup:/system.slice/docker-fdc36525965470ea8ac04103ffaa3494148add08893f4a637b87410b93399349.scope v6only:0 <->

访问 Emby 媒体服务器 Web 界面

成功启动容器后,您可以通过您的 IP 的端口 80968920 访问 Web 界面docker 主机 – http://ServerIP:8096

创建第一个具有管理权限的用户帐户。

您可以此时添加媒体目录,也可以稍后在 Web 仪表板上添加。

启用自动端口映射以进行远程访问。

同意服务条款

完成配置后,点击“完成”按钮。

点击“手动登录”继续登录。

使用创建用户时分配的用户名和密码登录。

这是登录后的样子。使用星号图标访问管理仪表板。

管理仪表板的外观类似于下图所示。

可以在设置-> 下添加媒体库

包起来

设置 Emby 服务器的过程非常简单,只需几个简单的步骤。该解决方案使任何人都可以在几秒钟内轻松拥有个人媒体服务器。访问 Emby 官方社区论坛了解更多信息。

类似文章:

  • 如何在 Ubuntu 或 Debian 上安装 Jellyfin 媒体服务器
  • 如何在 Docker 容器中运行 Plex 媒体服务器
  • 在 Ubuntu 上安装 Plex 媒体服务器

2

站心网

Emby 是一款出色的媒体/剧院应用程序,使您能够将所有电影、视频、音乐、有声读物、游戏和照片收集到一个地..

为您推荐

卸载阿里云、腾讯云服务器监控系统教程

所周知,阿里云、腾讯云的服务器都自带监控(AliYunDun/阿里云盾/安骑士),大家都不想自己的所作所为都被监控着,比如我在上面安装XX服务,一旦云监控查到,会被警告,很麻烦,我们总想着自己买的东西能够完全自己..

服务器安装数据库MySQL8.0版本,打包导入到MySQL5.6失败的结局方式

最近数据库升级为mysql8.0,在使用过程中发现一些问题,首先mysql8.0有很多新特性,对服务器配置要求较高,所有就考虑把数据库版本切换到MySQL5.6,经过多出测试处理发现在8.0数据库打包的数据导入到5.6总是报错,或..

VS创建.NET Core项目使用Docker方式部署到Linux服务器

在 Visual Studio(VS) 中,使用 Docker 方式部署 .NET Core 项目 到 Linux 服务器,可以简化环境管理并提高部署效率。以下是完整教程:1. 在 VS 创建 .NET Core 项目并启用 Docker新建 ASP.NET Core 项目打开 Visu..

鸿蒙系统HarmonyOS支持Docker吗?

华为鸿蒙系统(HarmonyOS)本身并不是直接为容器化设计的操作系统,因此在原生支持上并没有内置对 Docker 的直接支持。不过,可以通过以下方式实现某些 Docker 的功能:1. 鸿蒙系统的定位鸿蒙系统主要针对 IoT(物联..

ASP.NET如何将Views文件夹从项目分离

将 Views 文件夹从 ASP.NET 项目中分离是一个常见需求,比如为了实现模块化或分层架构。以下是实现此功能的完整步骤,从项目中分离 Views 文件夹,将其移到另一个独立的文件夹或项目中,并确保视图渲染仍然正常。1. ..

如何让AI写出Google认可的文章?

让 AI 写出 Google 认可的文章,核心在于满足 Google 的搜索排名算法要求。这些要求通常围绕以下几个关键点展开:内容质量、用户体验 和 SEO 优化。以下是详细指导:一、内容质量确保文章原创且有价值避免抄袭:Goog..

如何从.NET Framework迁移到.NET Core或.NET 6/7?

从 .NET Framework 迁移到 .NET Core 或 .NET 6/7 是一个提升性能和跨平台能力的关键过程。以下是迁移的主要步骤和注意事项:迁移步骤1. 评估当前项目依赖项检查:确保所有第三方库和NuGet包都有与 .NET Core/.NET 6..

如何优化ASP.NET Core应用的性能?

优化ASP.NET Core应用性能需要从代码、数据库、配置、服务器和部署等多个层面进行综合考虑。以下是一些优化ASP.NET Core应用性能的关键方法和技巧:1. 代码级优化使用异步编程:避免阻塞线程,通过async和await处理I..

在Docker、Kubernetes环境下部署.NET应用的最佳实践

在 Docker 和 Kubernetes 环境中部署 .NET 应用是现代云原生开发的重要实践之一。以下是一些经过验证的最佳实践,涵盖 Docker 镜像优化、Kubernetes 部署配置和整体架构建议。1. Docker 镜像构建的最佳实践1.1 使用..

chrome 开发者工具如何查看元素:hover时的样式

在 Chrome 开发者工具中查看元素的 :hover 样式,可以通过以下步骤实现:打开开发者工具:右键点击页面中的元素,然后选择“检查(Inspect)”或按下 F12 或 Ctrl + Shift + I (Windows) / Cmd + Option +..

鸿蒙OpenHarmony系统可以运行跨平台的.NET Core吗?

鸿蒙(HarmonyOS)和 OpenHarmony 系统本身并不原生支持直接运行 .NET Core,但可以通过一些方法使 .NET Core 应用在其上运行。鸿蒙和 OpenHarmony 是基于 LiteOS 和 Linux 内核的多终端操作系统,因此它们的运行时..

.NET 9 即将推出的功能Task.WhenEach

.NET 爱好者!我刚刚偶然发现了一个非常酷的新 PR,它被合并到 .NET 运行时存储库中,我想分享一个例子。希望您能为新的 .NET 版本大肆宣传!在即将到来的 .NET 9 版本中,我们预计会有一个名为 .它在这里让您的异步..

针对 Go 语言开发的 SQL 驱动模拟库

数据库交互是几乎所有应用程序不可或缺的一部分,开发者们常常需要对数据库进行各种操作,包括插入、更新、删除和查询等。然而,在开发过程中直接对真实数据库进行操作不仅耗时耗力,还可能带来数据一致性和安全性的..

DockerUI 中文可视化Docker管理工具使用示例

DockerUI 是由国内开发者打造的一款优秀的 Docker 可视化管理工具。该工具拥有简洁直观的UI界面,可以轻松进行Docker主机管理、集群管理,以及Docker任务的编排等操作。DockerUI不仅展示了资源利用率、系统信息和更..

Blazor的N种渲染模式原理和常见问题说明

我们从下面这幅图开始,下图显示了三种渲染模式,分别称之为静态SSR、交互式SSR(即之前的BlazorServer)、交互式CSR(即之前的BlazorWasm)。还有一种渲染模式BlazorHybrid,稍后说。一、先浅层理解一个图例静态SSR:经..

前端CSS常见的三种设计模式

CSS设计模式主要包括OOCSS、SMACSS和BEMCSS等。以下是对这些模式的具体介绍:OOCSS:面向对象的CSS,旨在编写高可复用、低耦合和高扩展的CSS代码。它将抽象(结构)和实现(样式)分离,抽离公共代码,以提高代码的..

WinToUSB | 把Windows塞进U盘里即插即用

不论是在外出差,还是在家临时办公,现在很多设备携带起来都不是那么方便,在这种情况下,有一个轻巧而高效的操作系统环境就显得格外关键。今天,要给大家介绍一款超级实用的便携式系统启动盘,凭借其独特功能和卓越..

.NET Framework被淘汰了吗?

.NET Framework并未完全被淘汰,但它的某些版本确实已经停止支持。微软在2023年11月10日停止了对.NET Framework 4.8之前的版本的支持。这一决策意味着使用这些旧版本的应用程序将不再获得安全更新和其他维护,从而可..

强大的 .NET Mock 框架 单元测试模拟库Moq使用教程

单元测试是确保代码质量和可靠性的重要手段。当我们的代码依赖于外部系统、数据库或第三方服务时,编写有效的单元测试可能会变得复杂且耗时。为了简化这一过程,模拟(Mocking)技术应运而生。在 .NET 生态系统中,M..

CLS 问题:超过 0.1(桌面设备) 是什么意思?

在网页设计和开发中,CLS(Cumulative Layout Shift)是指页面布局的累计偏移量。当一个用户与页面互动时,如果页面的某些元素突然改变位置或大小,导致整个布局发生偏移,就会产生布局偏移。这种偏移可能会影响用户..

发表回复

返回顶部