前言: 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,完全控制权限,另外群晖应用到本文件夹及子文件夹似乎没用,必须选择每个需要赋权的文件夹设置,否则无法读取削刮信息。


Avatar photo

sontjer

For the amatuer tech nerds & life maniacs.

0 条评论

发表回复

Avatar placeholder

您的电子邮箱地址不会被公开。 必填项已用*标注