Docker 部署 Jellyfin:安装、客户端与硬解排查记录

2026.04.09
苦温集 · 部署教程 Docker · Jellyfin · Linux · 影音服务

说明:博主平时喜欢自己折腾一些技术问题,所以家里NAS没有买成熟产品,全部是自己手搓出来的。完整的运行环境是Ubuntu 24.04 + Docker + NextCloud + JellyFin + aria2 + ariaNG

1. 使用Docker启动Jellyfin

我这里还是用最简单的 Docker 单容器。媒体目录没有单独再折腾,直接挂了现成的 Nextcloud 数据目录:

docker run -d \
  --name jellyfin \
  --net=host \
  -v /data/jellyfin/config:/config \
  -v /data/jellyfin/cache:/cache \
  --mount type=bind,source=/data/nextcloud/data,target=/media \
  --device=/dev/dri/renderD128:/dev/dri/renderD128 \
  --restart=unless-stopped \
  jellyfin/jellyfin

容器起来以后,浏览器访问:

http://<服务器IP>:8096

第一次打开会让你创建管理员账号。后面添加媒体库时,博主把路径指到了NextCloud的文件目录。

2. 硬解

一般来说,按照上面的启动命令运行容器后,再从Jellyfin 后台里启用并选择一下硬件加速方式就能正常生效了,😭但在博主的环境一直无法使用…

硬解不生效时,常用的检查顺序:

  • 宿主机显卡驱动是否正常。
  • 把宿主机的 /dev/dri/renderD128 映射进了容器。
  • 容器里是否真的拿到了 /dev/dri 设备。
  • Jellyfin 后台里选择的硬件加速方式是否和显卡类型匹配。
  • 浏览器播放链路本身有没有限制。

Linux 下常见的硬件加速方式大概是这些:

  • IntelQSV
  • AMDVAAPI
  • NVIDIANVENC

后来经过一系列的扑腾,还是没能解决,但在网上搜集材料的时候无意间看到了国内大神打包特供版镜像,换成这个镜像启动轻轻松松就生效了, 🤯那我前面的折腾算什么…算我有劲儿么…唉,罢了罢了,不废话了,直接贴上使用方法:

docker pull nyanmisaka/jellyfin

docker run -d \
    --name jellyfin-cn \
    --net=host \
    -v /data/jellyfin-cn/config:/config \
    -v /data/jellyfin-cn/cache:/cache \
    --mount type=bind,source=/data/nextcloud/data,target=/media \
    --device=/dev/dri/renderD128:/dev/dri/renderD128 \
    --group-add video \
    --restart=unless-stopped \
    nyanmisaka/jellyfin
    
chown -R www-data:www-data jellyfin-cn/