本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
Jellyfin 是一个自由软件媒体系统,让您能够控制媒体的管理和流式传输。它是专有软件Emby和Plex的替代方案,可通过多个应用程序从专用服务器向终端用户设备提供媒体服务。Jellyfin源自Emby 3.5.2版本,移植到.NET Core框架以实现全跨平台支持。无附加条件、无高级许可或功能限制,也无隐藏议程:由团队协作构建更优质的媒体解决方案。
LinuxServer.io团队提供的此镜像具有以下特点:
该镜像利用Docker manifest实现多平台支持,拉取lscr.io/linuxserver/jellyfin:latest即可自动获取适合您架构的镜像,也可通过标签指定特定架构。
| 架构 | 支持情况 | 标签 |
|---|---|---|
| x86-64 | ✅ | amd64-<version tag> |
| arm64 | ✅ | arm64v8-<version tag> |
| armhf | ❌ |
| 标签 | 支持情况 | 描述 |
|---|---|---|
| latest | ✅ | Jellyfin稳定版本 |
| nightly | ✅ | Jellyfin夜间构建版本 |
Web界面可通过 http://<您的IP>:8096 访问。
更多信息请参考官方文档:Jellyfin快速入门
Intel Quicksync硬件加速用户需将/dev/dri视频设备挂载到容器中,运行或创建容器时添加以下参数:
--device=/dev/dri:/dev/dri
容器会自动确保内部abc用户具有访问该设备的适当权限。
如需启用基于OpenCL的DV、HDR10和HLG色调映射,请参考:OpenCL-Intel mod
Nvidia硬件加速用户需在主机上安装Nvidia提供的容器运行时,安装说明:nvidia-docker
容器会自动添加必要的环境变量以利用主机GPU的所有功能。安装nvidia-docker后,需使用nvidia容器运行时重新创建容器:
--runtime=nvidia -e NVIDIA_VISIBLE_DEVICES=all
(NVIDIA_VISIBLE_DEVICES也可设置为特定GPU的UUID,可通过nvidia-smi --query-gpu=gpu_name,gpu_uuid --format=csv命令获取)
Raspberry Pi MMAL/OpenMAX硬件加速用户需挂载/dev/vcsm和/dev/vchiq视频设备及系统OpenMax库,运行或创建容器时添加以下参数:
--device=/dev/vcsm:/dev/vcsm --device=/dev/vchiq:/dev/vchiq -v /opt/vc/lib:/opt/vc/lib
Raspberry Pi V4L2硬件加速用户需挂载/dev/video1X设备,运行或创建容器时添加以下参数:
--device=/dev/video10:/dev/video10 --device=/dev/video11:/dev/video11 --device=/dev/video12:/dev/video12
--- version: "2.1" services: jellyfin: image: lscr.io/linuxserver/jellyfin:latest container_name: jellyfin environment: - PUID=1000 # 用户ID - PGID=1000 # 组ID - TZ=Etc/UTC # 时区 - JELLYFIN_PublishedServerUrl=192.168.0.5 # 可选,自动发现响应的域名或IP volumes: - /path/to/library:/config # Jellyfin数据存储位置 - /path/to/tvseries:/data/tvshows # 电视节目媒体目录 - /path/to/movies:/data/movies # 电影媒体目录 ports: - 8096:8096 # HTTP WebUI - 8920:8920 # 可选,HTTPS WebUI(需自行配置证书) - 7359:7359/udp # 可选,本地网络客户端发现 - 1900:1900/udp # 可选,DNLA和客户端使用的服务发现 restart: unless-stopped
docker run -d \ --name=jellyfin \ -e PUID=1000 \ -e PGID=1000 \ -e TZ=Etc/UTC \ -e JELLYFIN_PublishedServerUrl=192.168.0.5 `# 可选` \ -p 8096:8096 \ -p 8920:8920 `# 可选` \ -p 7359:7359/udp `# 可选` \ -p 1900:1900/udp `# 可选` \ -v /path/to/library:/config \ -v /path/to/tvseries:/data/tvshows \ -v /path/to/movies:/data/movies \ --restart unless-stopped \ lscr.io/linuxserver/jellyfin:latest
容器通过运行时参数配置,格式为<外部>:<内部>。
| 参数 | 功能 |
|---|---|
-p 8096 | HTTP WebUI访问端口 |
-p 8920 | 可选,HTTPS WebUI访问端口(需自行配置证书) |
-p 7359/udp | 可选,允许客户端在本地网络发现Jellyfin |
-p 1900/udp | 可选,DNLA和客户端使用的服务发现端口 |
| 参数 | 功能 |
|---|---|
-e PUID=1000 | 用户ID,详见下方用户/组ID说明 |
-e PGID=1000 | 组ID,详见下方用户/组ID说明 |
-e TZ=Etc/UTC | 指定时区,参考时区列表 |
-e JELLYFIN_PublishedServerUrl=192.168.0.5 | 设置自动发现响应的域名或IP地址 |
| 参数 | 功能 |
|---|---|
-v /config | Jellyfin数据存储位置,大型媒体库可能需要50GB以上空间 |
-v /data/tvshows | 媒体文件目录,可添加多个,如/data/movies、/data/music等 |
-v /data/movies | 媒体文件目录,可添加多个,如/data/movies、/data/tv等 |
可通过FILE__前缀从文件加载环境变量:
-e FILE__MYVAR=/run/secrets/mysecretvariable
上述命令会将MYVAR环境变量设置为/run/secrets/mysecretvariable文件的内容。
可通过-e UMASK=022覆盖容器内服务的默认umask设置。注意umask是权限减法而非加法,详情参考umask说明。
官方文档中提到的其他端口可用于自动发现:
1900/udp):客户端自动发现和DNLA功能所需,需在本地子网7359/udp):客户端发送"Who is Jellyfin Server?"广播获取服务器信息更多环境变量配置参考官方文档。
使用卷映射(-v)时,主机与容器可能出现权限问题。通过指定PUID和PGID可避免此问题,确保主机卷目录所有者与指定的用户/组ID一致。
通过以下命令获取当前用户的PUID和PGID:
id your_user
示例输出:
uid=1000(your_user) gid=1000(your_user) groups=1000(your_user)
可通过Docker Mods扩展容器功能:
容器内shell访问:
docker exec -it jellyfin /bin/bash
实时查看容器日志:
docker logs -f jellyfin
查看容器版本号:
docker inspect -f '{{ index .Config.Labels "build_version" }}' jellyfin
查看镜像版本号:
docker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/jellyfin:latest
大部分镜像为静态版本,需更新镜像并重建容器以更新应用。
更新镜像:
# 更新所有镜像 docker-compose pull # 仅更新jellyfin镜像 docker-compose pull jellyfin
更新容器:
# 更新所有容器 docker-compose up -d # 仅更新jellyfin容器 docker-compose up -d jellyfin
清理旧镜像:
docker image prune
更新镜像:
docker pull lscr.io/linuxserver/jellyfin:latest
停止并删除当前容器:
docker stop jellyfin docker rm jellyfin
使用相同参数重建容器(配置存储在/config卷中,会保留设置)
仅在忘记原始参数时使用:
docker run --rm \ -v /var/run/docker.sock:/var/run/docker.sock \ containrrr/watchtower \ --run-once jellyfin
如需本地修改或开发:
git clone [***] cd docker-jellyfin docker build \ --no-cache \ --pull \ -t lscr.io/linuxserver/jellyfin:latest .
在x86_64硬件上构建ARM变体:
docker run --rm --privileged multiarch/qemu-user-static:register --reset docker build -f Dockerfile.aarch64 -t lscr.io/linuxserver/jellyfin:arm64v8-latest .
bionic标签UMASK_SET,改用baseimage的UMASK/dev/vc-mem替换为/dev/vcsm/config下)

免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429