跳至主内容
非官方测试版翻译

本页面由 PageTurner AI 翻译(测试版)。未经项目官方认可。 发现错误? 报告问题 →

迁移

本文档涵盖 Jellyfin 的迁移操作以及向 Jellyfin 迁移的方案。

Jellyfin 的内部数据库无法直接复制或修改。根据具体情况,可通过部分数据迁移或保持相同文件路径等方式实现迁移。

观看状态迁移

现有第三方脚本可通过 API 将观看状态和用户数据从一个实例复制到另一个实例,支持从 Plex、Emby 或其他 Jellyfin 实例迁移。

Emby/Jellyfin 到 Jellyfin 迁移

Plex 到 Jellyfin 迁移

从 Linux 安装迁移至 Docker

可通过文件路径映射将本地安装数据用于官方 Docker 镜像,支持命令行或 Docker 环境变量配置。详见 配置文档

备注

容器内文件路径必须与宿主机完全匹配! 例如若媒体存储在 /media/raid/,则容器内 /media/raid/ 路径也必须可访问——下方配置示例已包含相关说明。

为保障权限正确,请获取 Jellyfin 运行时使用的本地用户 uidgid(默认安装时为 jellyfin 系统用户)。 执行以下命令获取:

   id jellyfin

需将下方示例中的 <uid>:<gid> 占位符替换为实际值。

备注

路径映射配置请前往 Dashboard > Paths

使用 docker 命令行

docker run -d \
--user <uid>:<gid> \
-e JELLYFIN_CACHE_DIR=/var/cache/jellyfin \
-e JELLYFIN_CONFIG_DIR=/etc/jellyfin \
-e JELLYFIN_DATA_DIR=/var/lib/jellyfin \
-e JELLYFIN_LOG_DIR=/var/log/jellyfin \
--mount type=bind,source=/etc/jellyfin,target=/etc/jellyfin \
--mount type=bind,source=/var/cache/jellyfin,target=/var/cache/jellyfin \
--mount type=bind,source=/var/lib/jellyfin,target=/var/lib/jellyfin \
--mount type=bind,source=/var/log/jellyfin,target=/var/log/jellyfin \
--mount type=bind,source=</path/to/media>,target=</path/to/media> \
--net=host \
--restart=unless-stopped \
jellyfin/jellyfin

使用 docker-compose yaml

services:
jellyfin:
image: jellyfin/jellyfin
user: <uid>:<gid>
network_mode: 'host'
restart: 'unless-stopped'
environment:
- JELLYFIN_CACHE_DIR=/var/cache/jellyfin
- JELLYFIN_CONFIG_DIR=/etc/jellyfin
- JELLYFIN_DATA_DIR=/var/lib/jellyfin
- JELLYFIN_LOG_DIR=/var/log/jellyfin
volumes:
- /etc/jellyfin:/etc/jellyfin
- /var/cache/jellyfin:/var/cache/jellyfin
- /var/lib/jellyfin:/var/lib/jellyfin
- /var/log/jellyfin:/var/log/jellyfin
- <path-to-media>:<path-to-media>

从 Emby 3.5.2 迁移至 Jellyfin

信息

Emby(任何版本)到 Jellyfin 的直接数据库迁移不受支持。 由于数据库结构不一致会导致各种隐性问题,我们强烈建议从 Emby 迁移的用户使用全新数据库重建媒体库。

原始操作步骤仅供参考,我们不提供支持且无法保证以此方式升级的系统能正常运行。若您有意编写数据库迁移脚本来修正现有数据库问题并导入 Jellyfin,欢迎参与贡献

注意

虽然技术上可迁移 Emby 3.5.2 或更早版本的配置,但因迁移后出现诸多诡异问题,我们不推荐此方案。 Emby 3.5.3 或 3.6+ 版本无法迁移。 建议创建全新 Jellyfin 配置并重建媒体库。

Windows 用户可使用 Jellyfin 仓库 中的 install-jellyfin.ps1 脚本,该脚本包含自动升级选项。

本操作指南适用于基于 Debian 的 Linux 发行版,但遵循相同原则也可应用于其他平台。

  1. 将 Emby 升级至 3.5.2 版本,确保数据库架构完全更新且一致。 此步骤虽非强制要求,但有助于降低数据库中出现隐蔽错误的风险。

  2. 停止 emby-server 守护进程:

    sudo service emby-server stop
  3. 移动现有 Emby 数据目录至备份位置:

    sudo mv /var/lib/emby /var/lib/emby.backup
  4. 卸载或清除 emby-server 软件包:

    sudo apt purge emby-server
  5. 按照安装说明安装 jellyfin 软件包。

  6. 停止 jellyfin 守护进程:

    sudo service jellyfin stop
  7. 从 Emby 备份目录复制所有数据文件:

    sudo cp -a /var/lib/emby.backup/* /var/lib/jellyfin/
  8. 修正新数据目录的所有权:

    sudo chown -R jellyfin:jellyfin /var/lib/jellyfin
  9. 标记启动向导已完成状态 - 若未标记完成,在启用远程访问时可能造成安全隐患:

    sudo sed -i '/IsStartupWizardCompleted/s/false/true/' /etc/jellyfin/system.xml
  10. 启动 jellyfin 守护进程:

sudo service jellyfin start