使用 jackett、qbittorrent、jellyfin 搭建家庭影院。
本文备份自用的 docker 配置文件。
配置信息
- docker 配置文件集中存放在:
/home/shiersan/docker
- zfs 存储池挂载点:
/mnt/zfs-raid5-pool/
。ZFS 的配置可以参考:这里
- qbittorrent 下载盘为固态盘(本机系统盘)M.2 1 TB
- 下载盘文件使用
rsync -ruvzt --progress
手动同步到存储池中的 jellyfin 文件夹中。这么做的原因是因为下载文件夹和存储的文件夹不是一个硬盘设备。无法使用硬链接
。
filebrowser
使用该程序实现 WEB 端管理存储池文件功能
默认用户名:admin,密码:admin
1 2 3 4 5 6 7 8
| docker run -d --name filebrowser \ -v /mnt/zfs-raid5-pool:/nas \ -v /home/shiersan/docker/filebrowser/database.db:/database.db \ -v /home/shiersan/docker/filebrowser/filebrowser.json:/.filebrowser.json \ -u $(id -u):$(id -g) \ -p 60100:80 \ --restart unless-stopped \ filebrowser/filebrowser:latest
|
1 2 3 4 5 6 7 8 9
| { "address":"0.0.0.0", "port":80, "locale":"zh-cn", "baseURL":"/", "log":"stdout", "database":"/database.db", "root":"/nas" }
|
qbittorrent
下载器使用 qb 下载种子文件。传统下载可以自行部署 aria2
安装后默认用户名:admin,密码:adminadmin
1 2 3 4 5 6 7 8 9 10 11 12 13
| docker run -d --name=qbittorrent \ -e QB_WEBUI_PORT=60200 \ -e QB_EE_BIN=true \ -e UID=$(id -u) \ -e GID=$(id -g) \ -e UMASK=000 \ -p 6881:6881 \ -p 6881:6881/udp \ -p 60200:60200 \ -v /home/shiersan/docker/qbittorrent/config:/config \ -v /home/shiersan/docker/qbittorrent/downloads:/Downloads \ --restart unless-stopped \ johngong/qbittorrent:latest
|
注意:-e QB_WEBUI_PORT=60200
指定的端口必须和-p 60200:60200
中一致。也就是说这三个端口数值必须完全一致,否则会出现异常。
-e QB_EE_BIN=true
表示使用 qb 增强版(可以反吸血:设置-高级-上传连接策略-选择反吸血
)
- 其他参数参考该容器 docker hub 首页文档。
jackett
一个聚合种子搜索器。初始启动后需要添加indexer
才能正常使用
1 2 3 4 5 6 7 8 9 10
| docker run -d --name=jackett \ -e PUID=$(id -u) \ -e PGID=$(id -g) \ -e TZ=Asia/Shanghai \ -e AUTO_UPDATE=true \ -p 9117:9117 \ -v /home/shiersan/docker/jackett/config:/config \ -v /home/shiersan/docker/jackett/downloads:/downloads \ --restart unless-stopped \ lscr.io/linuxserver/jackett:latest
|
搜索个别网站的还需要依赖flaresolverr
这个服务。这个服务不稳定,经常报错。所以不装也行,后果也只是 jackett 不能使用个别网站搜索而已。
1 2 3 4 5
| docker run -d --name=flaresolverr \ -p 8191:8191 \ -e LOG_LEVEL=info \ --restart unless-stopped \ ghcr.io/flaresolverr/flaresolverr:latest
|
运行起来后,去 jackett 的设置中找到FlareSolverr API URL
这一项,把flaresolverr
的地址设置上即可。
jellyfin
开源的多媒体管理平台,支持硬件转码等功能。
这里使用的是中国特供版
具体可以访问该镜像的 docker hub 首页了解。
该镜像集成了很多硬解需要的驱动,并优化了 jellyfin 的参数。
1 2 3 4 5 6 7 8 9
| docker run -d --name jellyfin \ -p 8096:8096 \ --privileged=true \ -v /home/shiersan/docker/jellyfin/config:/config \ -v /home/shiersan/docker/jellyfin/cache:/cache \ -v /mnt/zfs-raid5-pool/jellyfin:/media \ --mount type=bind,source=/dev/dri,target=/dev/dri \ --restart=unless-stopped \ nyanmisaka/jellyfin:latest
|
--mount type=bind,source=/dev/dri,target=/dev/dri
:是挂载宿主机的显示渲染设备文件到容器中
--privileged=true
:因为要访问上面说的系统渲染设备文件,所以需要 root 权限。也可以对设备文件设置 777 权限来省略该配置项
config
和cache
目录必须配置。
-v /mnt/zfs-raid5-pool/jellyfin:/media
:是自定义你的媒体文件根目录让 jellyfin 能找到你的电影/电视剧
电影信息刮削,docker 部署版本。
1 2 3 4 5 6 7 8 9
| docker run -d --name=tinymediamanager \ -e USER_ID=$(id -u) \ -e GROUP_ID=$(id -g) \ -e PASSWORD=设置密码 \ -p 64000:4000 \ -v /home/shiersan/docker/tinymediamanager/data:/data \ -v /mnt/zfs-raid5-pool/jellyfin:/media \ --restart unless-stopped \ tinymediamanager/tinymediamanager:latest
|
切换中文界面:
- 进入之后跟随向导初始设置
- 右上角-settings
- 弹出设置窗口中选择左侧菜单第一项:General
- 右边在 UI Language 设置中下拉选择中文
- 关闭设置窗口
- 直接右上角点击软件的关闭按钮,不要关闭网页,软件会自动重启。
- 软件不经常使用的情况下,可以关闭 docker。
如果没有科学上网可以尝试修改 host 解决无法访问 TMDB:
1 2 3 4 5 6 7 8 9 10 11 12 13
| docker run -d --name=tinymediamanager \ -e USER_ID=$(id -u) \ -e GROUP_ID=$(id -g) \ -e PASSWORD=设置密码 \ -p 64000:4000 \ -v /home/shiersan/docker/tinymediamanager/data:/data \ -v /mnt/zfs-raid5-pool/jellyfin:/media \ --add-host=api.themoviedb.org:13.224.161.90 \ --add-host=image.tmdb.org:104.16.61.155 \ --add-host=api.themoviedb.org:13.35.67.86 \ --add-host=www.themoviedb.org:54.192.151.79 \ --restart unless-stopped \ tinymediamanager/tinymediamanager:latest
|
HOST 如果失效,请自行更换其他方式。