本页面由 PageTurner AI 翻译(测试版)。未经项目官方认可。 发现错误? 报告问题 →
迁移
本文档涵盖 Jellyfin 的迁移操作以及向 Jellyfin 迁移的方案。
Jellyfin 的内部数据库无法直接复制或修改。根据具体情况,可通过部分数据迁移或保持相同文件路径等方式实现迁移。
观看状态迁移
现有第三方脚本可通过 API 将观看状态和用户数据从一个实例复制到另一个实例,支持从 Plex、Emby 或其他 Jellyfin 实例迁移。
从 Linux 安装迁移至 Docker
可通过文件路径映射将本地安装数据用于官方 Docker 镜像,支持命令行或 Docker 环境变量配置。详见 配置文档。
容器内文件路径必须与宿主机完全匹配!
例如若媒体存储在 /media/raid/,则容器内 /media/raid/ 路径也必须可访问——下方配置示例已包含相关说明。
为保障权限正确,请获取 Jellyfin 运行时使用的本地用户 uid 和 gid(默认安装时为 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 发行版,但遵循相同原则也可应用于其他平台。
-
将 Emby 升级至 3.5.2 版本,确保数据库架构完全更新且一致。 此步骤虽非强制要求,但有助于降低数据库中出现隐蔽错误的风险。
-
停止
emby-server守护进程:sudo service emby-server stop -
移动现有 Emby 数据目录至备份位置:
sudo mv /var/lib/emby /var/lib/emby.backup -
卸载或清除
emby-server软件包:sudo apt purge emby-server -
按照安装说明安装
jellyfin软件包。 -
停止
jellyfin守护进程:sudo service jellyfin stop -
从 Emby 备份目录复制所有数据文件:
sudo cp -a /var/lib/emby.backup/* /var/lib/jellyfin/ -
修正新数据目录的所有权:
sudo chown -R jellyfin:jellyfin /var/lib/jellyfin -
标记启动向导已完成状态 - 若未标记完成,在启用远程访问时可能造成安全隐患:
sudo sed -i '/IsStartupWizardCompleted/s/false/true/' /etc/jellyfin/system.xml -
启动
jellyfin守护进程:
sudo service jellyfin start