前言: ALL in one早已经小主机大行其道,还是有的用户不放心把重要的电影、剧集等重要资料放在All in one小主机中,自己有另外的NAS存储或者其它系统在局域网中共享,比如我就是。这里简要记录本人的折腾过程。小主机配置为i5-6500t、UHD530 Intel核显、16G内存、512GB ssd,安装了最新版PVE。
1.挂载NFS文件系统
1.1在客户端安装NFS客户端
apt-get install nfs-common
1.2创建目录并挂载NFS
分别输入mkdir -p /root/docker/jellyfin/media和mount 192.168.1.125:/volume3/video/ /root/docker/jellyfin/media
,此时已经可以写,对应的服务器端可以看到创建的文件。
要在客户端每次启动时自动挂载NFS,可以编辑/etc/fstab,添加一行:192.168.1.99:/srv/upload /mnt/upload nfs rsize=8192,wsize=8192,timeo=14,intr
或者192.168.1.125:/volume3/video/ /root/docker/jellyfin/media nfs
2.PVE中lxc容器安装debian
2.1下载CT模板
进入PVE中local pve存储,或者其他挂载的pve存储,点击模板下载
2.2 从模板中安装注意事项
想要安装docker套娃,必须要将无特权容器默认勾选去掉;完成后不要启动,点击ct编号,选项,将嵌套、NFS、SMB/CIFS勾选
3.PVE宿主机设置直通显卡
3.1修改grub引导文件,新增启动项
输入 nano /etc/default/grub
,将GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on i915.enable_gvt=1"
条目添加进去
输入update-grub
3.2修改模块文件,增加硬件直通模块
输入nano /etc/modules
,将以下代码加入后,输入update-initramfs -u
后重启生效
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
kvmgt
3.3确认生效
输入:ls /dev/dri -l
,应该看到,此时宿主机直通已经完成:
drwxr-xr-x 2 root root 80 Sep 21 13:29 by-path
crw-rw---- 1 root video 226, 0 Sep 21 13:29 card0
crw-rw---- 1 root render 226, 128 Sep 21 13:29 renderD128
4.宿主机配置lxc容器直通
4.1 104容器配置文件
输入:nano /etc/pve/lxc/104.conf
内容如下,根据个人情况修改,其中lxc.hook.autodev: /var/lib/lxc/104/mount_hook.sh
,是104容器自动执行的挂载直通设备脚本,具体后面贴出:
arch: amd64
cores: 4
hostname: Decoder
memory: 2048
net0: name=eth0,bridge=vmbr0,firewall=1,gw=192.168.1.2,hwaddr=BA:31:55:EE:E7:DB,ip=192.168.1.5/24,type=veth
ostype: debian
rootfs: local:104/vm-104-disk-0.raw,size=20G
searchdomain: 192.168.1.2
swap: 2048
lxc.apparmor.profile: unconfined
lxc.cgroup.devices.allow: a
lxc.cap.drop:
lxc.cgroup2.devices.allow: c 226:0 rwm
lxc.cgroup2.devices.allow: c 226:128 rwm
lxc.mount.entry: /dev/dri/card0 dev/dri/card0 none bind,optional,create=file
lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file
在LXC下输入nano /etc/profile,在最底部 fi下方输入命令chown root:render /dev/dri/renderD128,实现renderD128归属组为render
5.安装国内优化版jellyfin
5.1安装docker
输入:apt-get update && apt-get install -y wget vim curl
,安装必要的系统组件
输入:curl -sSL https://get.daocloud.io/docker | sh
,自动安装docker,为国内源
输入:curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
,自动安装docker-compose,为github源,请自行解决访问问题
输入:docker-compose --version
,查看docker compose版本
5.2安装优化版jellyfin
因为内置了已经安装好驱动的jellyfin,非常方便开箱即用。使用共享主机host网络结构,加入privileged=true,有的无法使用的话,还可以加入--e PUID=xxx
,--e PGID=xxx
。
输入:
docker run -d \
--name=jellyfin \
-v /root/docker/jellyfin/config:/config \
-v /root/docker/jellyfin/cache:/cache\
-v /root/docker/jellyfin/media/link/Movies:/Movies \
-v /root/docker/jellyfin/media/link/Series:/Series \
--restart unless-stopped \
--net host \
--privileged=true \
nyanmisaka/jellyfin:latest
5.3安装好jellyfin后设置
进入后,在控制台-播放中选择INTEL QuickSync QSV
解码,勾选启用所有硬件解码,勾选启用硬件编码,勾选启用色调映射,应该就可以了。
有大神开发的nastools非常好用,结合jellyfin是个神器。
5.4配合nastools使用的一点说明
jellyfin的文件夹源读取权限一定得添加everyone,完全控制权限,另外群晖应用到本文件夹及子文件夹似乎没用,必须选择每个需要赋权的文件夹设置,否则无法读取削刮信息。

0 条评论