雷达智富

首页 > 内容 > 程序笔记 > 正文

程序笔记

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

2024-07-24 54

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 媒体服务器

更新于:1个月前
赞一波!2

文章评论

全部评论