Docker 一键搭建 qBittorrent + Jellyfin,打造私人家庭影院
frigidpluto Views: ...
最近体验了一下用 qBittorrent + Jellyfin 搭建家庭影院,效果还不错,特此记录一下。
架构逻辑
qBittorrent 下载视频,jellyfin 播放,使用 docker 快速部署,方便迁移。
- 自动衔接:qBittorrent 下载完成后的文件,Jellyfin 自动扫库展示。
- 硬解加速:调用核显,手机/平板上也能流畅播放 4K 电影。
- 环境隔离:一键部署,不污染宿主机系统。
对外服务端口:
- qBittorrent WebUI:
ip:8080(下载管理) - Jellyfin Web:
ip:8096(观影体验)
目录结构准备
为了保证数据持久化,建议不要使用 /tmp 目录(防止重启丢失)。推荐在当前目录下创建数据文件夹:
.
├── docker-compose.yml
├── config/
│ ├── qbittorrent/ # 存放 qB 配置
│ └── jellyfin/ # 存放 Jellyfin 配置
└── media/ # 存放电影和剧集文件
Docker Compose 配置
这里使用了 linuxserver 的镜像,对权限管理(PUID/PGID)支持得非常好,避免后续权限困扰。
services:
qbittorrent:
image: lscr.io/linuxserver/qbittorrent:latest
container_name: qbittorrent
environment:
- PUID=1000 # 建议通过 id 命令查看当前用户 ID
- PGID=1000
- TZ=Asia/Shanghai
- WEBUI_PORT=8080
volumes:
- ./config/qbittorrent:/config
- ./media:/downloads # 映射到统一的媒体目录
ports:
- 8080:8080
- 6881:6881
- 6881:6881/udp
restart: unless-stopped
jellyfin:
image: lscr.io/linuxserver/jellyfin:latest
container_name: jellyfin
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Shanghai
volumes:
- ./config/jellyfin:/config
- ./media:/data/media # 与 qB 指向同一个物理路径
ports:
- 8096:8096
devices:
- /dev/dri:/dev/dri # 传递核显,开启硬件解码
restart: unless-stopped
复制以上内容到服务器上的 docker-compose.yml 文件中,然后运行以下命令启动:
docker compose up -d
关键步骤说明
- qBittorrent 初始密码
由于 qB 最近版本的安全策略更新,默认密码不再是 admin/admin。 部署完成后,需要运行以下命令查看自动生成的临时密码:
docker logs qbittorrent
在日志中找到 The WebUI administrator password was set to: xxxxxx 即可登录,进入后再自行修改。
- Jellyfin 开启硬件加速
- 进入 Jellyfin 后,依次点击:控制台 -> 播放 -> 转码。
- 如果你是 Intel 核显,选择 Intel QuickSync。
- 记得勾选底部的 “启用硬件解码”。
- 目录映射技巧
在 qBittorrent 下载设置中,将默认保存路径设置为 /downloads。这样下载完成后,文件会立即出现在 Jellyfin 挂载的 /data/media 中,无需手动移动。
结语
局域网下使用是非常流畅的,但如果需要公网访问,可以考虑 Cloudflare Tunnel。
如果需要更自动化的体验(如自动追剧、自动刮削),可以考虑进一步引入 Sonarr/Radarr 家族。


