群晖 Emby 套件迁移到 Docker 的完整指南

O94JX.jpg

群晖 Emby 套件迁移到 Docker 的完整指南

适用于已在群晖上使用 Emby 套件,希望保留所有数据并改为 Docker 部署的用户。

为什么迁移到 Docker?

  • 数据路径可控,更方便安装第三方插件
  • 可指定版本,升级降级更灵活(套件无法回退到低版本)
  • 容器可设置代理访问,解决刮削慢的问题(套件需修改 host 或依赖第三方插件)

系统和版本

  • 群晖 DSM 7.2
  • 已安装 Container Manager 套件
  • Emby 套件当前版本为 4.9.0.43
  • 使用 Emby 官方 Docker 镜像 emby/embyserver:4.9.0.43

迁移步骤

步骤一:准备 Docker 数据目录

在群晖 DSM 的 File Station 中创建以下目录结构用于 Docker 容器持久化配置路径:

/volume1/docker/embyserver/config  # Emby 数据目录
/volume1/docker/embyserver/compose # 用于存放 docker-compose.yml 文件

步骤二:复制原数据

群晖 Emby 套件数据位置

默认位于:

/volume1/@appdata/EmbyServer

需要迁移的目录和文件

  • config: 主配置文件(用户、媒体库设置等)
  • data: 数据缓存和数据库
  • metadata: 元数据(封面、描述等)
  • plugins: 已安装插件
  • root: 媒体库配置
  • logs: 日志文件(建议迁移)
  • fonts: 字体资源(建议迁移)

无需迁移的目录和文件

  • cache: 临时缓存
  • transcoding-temp: 转码临时文件
  • EmbyServer.pid: 运行时生成的 PID 文件

迁移后的目录结构

/volume1/docker/embyserver/config
├── config
├── data
├── metadata
├── plugins
├── root
├── logs
├── fonts

步骤三:创建 docker-compose.yml

version: '3.8'
services:
  embyserver:
    image: emby/embyserver:4.9.0.43
    container_name: embyserver
    network_mode: host
    environment:
      - TZ=Asia/Shanghai
      - UID=0
      - GID=0
    volumes:
      - /volume1/docker/embyserver/config:/config
      - /volume1/video:/volume1/video    # 你的视频库路径
      - /volume2/video2:/volume2/video2  # 其他视频库路径
    devices:
      - /dev/dri:/dev/dri
    restart: unless-stopped

配置说明

  • image 指定与套件一致的版本,避免兼容性问题(建议明确指定版本号而非使用 latest)
  • network_mode: host 推荐使用,便于 IPv6 访问
  • UID=0GID=0 使用管理员用户
  • 目录映射中,Docker 的 /config 对应套件的完整 EmbyServer 目录
  • 硬解设备映射 /dev/dri 适用于 Intel 内置核显(其他硬件需参考官方文档)

步骤四:释放默认端口

防止 Docker 端口与套件端口冲突,推荐两种方案:

方案一:修改套件端口(推荐)

  1. 在 Emby Web 端,进入设置 -> Emby Server -> 网络
  2. 修改端口:
    • HTTP 端口号:8096 → 8097
    • HTTPS 端口号:8920 → 8921
  3. 手动停止 Emby 套件(之后无需再启动)

方案二:修改 Docker 端口

编辑 docker/embyserver/config/config/system.xml 文件,修改端口配置。仅推荐方案一以实现丝滑迁移。

步骤五:创建 Docker 项目

在 Container Manager 中创建 Docker 项目:

  • 项目名称: embyserver
  • 路径: /volume1/docker/embyserver/compose/
  • 来源: 使用之前创建的 docker-compose.yml 文件

推荐创建项目而非单独容器,便于使用 docker-compose 管理。

步骤六:启动项目并检查配置

  1. 启动项目,等待自动拉取镜像并启动
  2. 迁移后首次进入 Emby 后台,检查并确认:
    • 媒体库语言与刮削器设置是否正确(部分设置可能被重置)
    • 插件是否完整加载并正常运行

其他问题

访问 TMDB 超时问题

迁移后可能出现刮削时访问 TMDB 失败的问题:

Error HttpClient: Connection to https://api.themoviedb.org/3/movie/587?api_key=x_secret3_x&... timed out

解决方案

  1. 方案一(推荐):使用 Emby 神医助手插件

    • 在插件的元数据设置中,替代 TMDB API 地址为:
      https://api.tmdb.org
      
  2. 方案二:配置 https_proxy 代理

    • 在 docker-compose.yml 中添加代理配置(需自建代理服务器)

Comments