使用Alist无硬盘自建2000T私人影库

304次阅读
没有评论

共计 7148 个字符,预计需要花费 18 分钟才能阅读完成。

使用Alist零硬盘打造千T资源的蓝光私人影库,本文较长,详细讲解了Alist Rclone AutoSymlink Emby Kodi TinyMediaManager LibreELEC虚拟机 核显直通 容器安装配置使用的全部流程,保姆级教程,适用于PVE和UNRAID的all in oneNAS系统,支持英特尔6-14带核显的主机。无核显或者非all in one的群晖、极空间、绿联等机型,可以使用电视或者高清盒子对接Emby资源库进行观影。

第一步 安装Alist

执行安装命令之前,请确认相关路径的目录已创建,可以在File Station中建立,也可以使用mkdir命令创建,没有创建目录容器将无法启动,此问题后续不再赘述。

1.1复制下面命令安装alist容器:

docker run -d \
--name='alist' \
-e TZ="Asia/Shanghai" \
-e 'PUID'='0' \
-e 'PGID'='0' \
-e 'UMASK'='022' \
-v '/volume1/docker/alist/data/':'/opt/alist/data' \
-p 5244:5244 \
xhofe/alist

1.2安装完成后配置下alist的登录密码123456(如果在公网访问建议设置强密码):

docker exec alist ./alist admin set 123456

1.3获取115的cookie,并挂载分享链接的资源,可以操作视频进行操作。

详细方法可以参考alist官方文档:https://alist.nn.ci/zh/guide/drivers/115.html

1.4注意:Alist全局设置里的签名所有功能需要关闭,否则strm链接是失效的,无法播放。

第二步 安装Rclone

2.1获取安装脚本:

curl -O https://rclone.org/install.sh

2.2执行安装命令:

sudo bash install.sh

2.3挂载报错的话执行下面命令,用fusermount替代所需的fusermount3驱动:

sudo ln -s /bin/fusermount /bin/fusermount3

2.4按照提示配置rclone config,使用webdav方式添加alist,注意地址端口后面一定加/dav,这是由alist特性决定的。

2.5添加alist成功后执行挂载命令,将alist的文件挂载到本地目录,格式如下(请根据自己路径进行修改):

rclone mount [配置名:路径(路径可以不写,直接挂载根目录)] [本地路径] --use-mmap --umask 000 --allow-other --allow-non-empty --dir-cache-time 24h --cache-dir=[缓存路径] --vfs-cache-mode full --buffer-size 512M --vfs-read-chunk-size 16M --vfs-read-chunk-size-limit 64M --vfs-cache-max-size 10G --daemon

我修改好的挂载命令(注意路径之间的空格,alist:后面可以不写,表示挂载根目录):

rclone mount alist:/高清电影 /volume1/rclone/alist/高清电影 --use-mmap --umask 000 --allow-other --allow-non-empty --dir-cache-time 24h --cache-dir=/volume1/rclone/cache --vfs-cache-mode full --buffer-size 512M --vfs-read-chunk-size 16M --vfs-read-chunk-size-limit 64M --vfs-cache-max-size 10G --daemon

第三步 安装auto_symlink

auto_symlink能将网盘的视频文件生成为strm链接文件,方便本地读取刮削,避免对网盘请求过多,造成限流、风控和封号,auto_symlink安装命令:

docker run -d \
--name auto_symlink \
-e TZ=Asia/Shanghai \
-v /volume1/docker/auto_symlink/config:/app/config \
-v /volume1/rclone:/volume1/rclone:rslave \
-v /volume1/media:/media \
-p 8095:8095 \
--user 0:0 \
--restart unless-stopped \
shenxianmq/auto_symlink:latest

auto_symlink从rclone挂载目录读取文件信息,生成同样目录结构的媒体文件到媒体路径(过程种,视频文件将被替换成strm链接文件,这样在刮削过程中对网盘不会产生请求,海报、字幕等元数据文件将被下载复制到本地,便于播放器加载读取)。
-v /volume1/rclone:/volume1/rclone:rslave这行的路径映射,rslave 表示使用相对于宿主机的从属挂载模式。请确保左右路径保持一致,否则使用本地模式生成的软链接不是指向真实路径,导入emby中的时候会导致无法观看。简单的来说,这里需要填写你映射的云盘路径,且两边都填写一模一样的路径即可,cloud模式不受影响,但是尽量保持一致。

如果群晖创建容器rslave报错,在群晖的任务计划中添加开机任务:

mount --make-shared /volume1/systemctl daemon-reload

添加后手动运行一次,之后开机会自动运行

第四步 安装tinymediamanager刮削工具

TinyMediaManager安装命令:

使用镜像为免费版,已付费的用户可以更换为官方原版

增加了刮削host解析参数,有网络环境的,可以自行删除–add-host字段

需要使用VNC客户端的,可以把容器的5900端口映射出来,默认使用web访问

docker run -d \
--name='TinyMediaManager' \
--net='bridge' \
-e TZ="Asia/Shanghai" \
-e 'USER_ID'='0' \
-e 'GROUP_ID'='0' \
-p '5800:5800' \
-v '/volume1/docker/TinyMediaManager':'/config' \
-v '/volume1/media':'/media' \
--add-host=api.themoviedb.org:108.139.15.114 \
--add-host=api.themoviedb.org:108.139.15.125 \
--add-host=www.themoviedb.org:54.230.253.95 \
--add-host=www.themoviedb.org:54.230.253.111 \
--add-host=image.tmdb.org:143.244.50.90 \
--add-host=image.tmdb.org:185.93.1.244 \
dzhuang/tinymediamanager

刮削完成后就可以将目录添加给Kodi使用了,为了方便教程我这里就先进行emby的安装,再进行LibreELEC Kodi 播放器的安装,如果你只使用kodi,emby这一步可以跳过不装。

第五步 安装emby(只使用kodi的话可以不安装,建议还是安装上,多一种观影方式,同时emby也能进行海报墙和元数据刮削。kodi可以共用元数据,这样kodi就不用开启刮削了。如果emby刮削的效果不好,可以再安装下一步的tinymediamanager,手动进行刮削整理)

emby安装命令:

使用镜像为开心版,已付费的用户可以更换为官方原版

增加了刮削host解析参数,有网络环境的,可以自行删除–add-host字段

docker run -d \
--name='emby' \
-e TZ="Asia/Shanghai" \
-e 'UID'='0' \
-e 'GID'='0' \
-e 'GIDLIST'='0' \
-p '8096:8096' \
-v '/volume1/docker/emby/config':'/config' \
-v '/volume1/media':'/media' \
--add-host=api.themoviedb.org:108.139.15.114 \
--add-host=api.themoviedb.org:108.139.15.125 \
--add-host=www.themoviedb.org:54.230.253.95 \
--add-host=www.themoviedb.org:54.230.253.111 \
--add-host=image.tmdb.org:143.244.50.90 \
--add-host=image.tmdb.org:185.93.1.244 \
amilys/embyserver

如果需要使用本地模式的话还需要将rclone路径映射给emby(cloud模式不需要):

-v /volume1/rclone:/volume1/rclone:rslave \

第四步 安装LibreELEC Kodi 播放器 利用NAS核显输出画面,实现NAS存储与高清播放完美结合,充分发挥所有硬件。

4.1准备工作:配置核显直通环境(注意:命令需在PVE主机shell中执行,不要在群晖shell下执行,pve远程登录的群晖,请先退出群晖SSH再执行命令。)

测试Dell Wyse5070 PVE底层不需要做任何修改,只需配置好虚拟机相关配置就可以成功直通核显输出画面。windows系统不在讨论范围,j4125/j4105等10代低功耗架构处理器在纯UEFI BIOS下核显在windows系统中无法正常输出画面,其他CPU不受此影响,均能物理直通输出画面。

按下面参数配置PVE8.0系统的核显直通环境,适用于英特尔6-14代核显(Dell Wyse5070 可以不配置):

sed -i '/^GRUB_CMDLINE_LINUX_DEFAULT/c\GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"' /etc/default/grub
echo -e "blacklist i915\nblacklist snd_hda_intel\noptions vfio_iommu_type1 allow_unsafe_interrupts=1" | tee -a /etc/modprobe.d/pve-blacklist.conf
update-grub
update-initramfs -u -k all
reboot

复制到pve的shell中执行,完成后系统会重启

4.2安装LibreELEC虚拟机(LibreELEC版本建议使用我提供的版本,其他版本有花屏情况)
上传LibreELEC安装镜像和核显vbios文件,可以先把后缀改为img,上传完成后我们再改回rom就可以了,这样就不需要借助文件传输工具就可以给pve上传任意文件了。

按照视频教程创建配置虚拟机完成后,使用下面命令修改虚拟机配置文件,增加核显直通的额外配置参数:

sed -i '1i\args: -set device.hostpci0.addr=02.0 -set device.hostpci0.x-igd-gms=0x2 -set device.hostpci0.x-igd-opregion=on' /etc/pve/qemu-server/104.conf
sed -i 's/^hostpci0.*/hostpci0: 0000:00:02,legacy-igd=1,romfile=6-14.rom/' /etc/pve/qemu-server/104.conf

我的虚拟机id是104,请根据你们情况进行修改,再执行

映射安装盘,移动并重名vbios文件至kvm目录
命令中的文件路径、虚拟机ID号(我的是104)和存储名(我的是ssd)根据自己情况进行修改:

qm importdisk 104 /mnt/sda/template/iso/LibreELEC-Generic.x86_64-11.0.6.img ssd
mv /mnt/sda/template/iso/6-14.img /usr/share/kvm/6-14.rom

我的虚拟机id是104,请根据你们情况进行修改,再执行

cloud模式下 strm生成完成后,数据不需要实时更新的话,rclone可以不用再进行挂载,AutoSymlink也不需要开启。
如果需要实时同步网盘的话,需要先在alist里面刷新目录,再刷新rclone挂载,同时开启AutoSymlink的实时监控。
rclone的目录可以通过重新卸载再挂载进行刷新,例如
卸载:

umount -lf /volume1/rclone/alist

再挂载:

rclone mount alist:/ /volume1/rclone/alist/ --use-mmap --umask 000 --allow-other --allow-non-empty --dir-cache-time 24h --cache-dir=/volume1/rclone/cache --vfs-cache-mode full --buffer-size 512M --vfs-read-chunk-size 16M --vfs-read-chunk-size-limit 64M --vfs-cache-max-size 10G --daemon

可以将两个命令进行结合:

umount -lf /volume1/rclone/alist && rclone mount alist:/ /volume1/rclone/alist/ --use-mmap --umask 000 --allow-other --allow-non-empty --dir-cache-time 3m --cache-dir=/volume1/rclone/cache --vfs-cache-mode full --buffer-size 512M --vfs-read-chunk-size 16M --vfs-read-chunk-size-limit 64M --vfs-cache-max-size 10G --daemon

也可以通过–dir-cache-time 控制目录的缓存时间,例如改为3分钟

rclone mount alist:/ /volume1/rclone/alist/ --use-mmap --umask 000 --allow-other --allow-non-empty --dir-cache-time 3m --cache-dir=/volume1/rclone/cache --vfs-cache-mode full --buffer-size 512M --vfs-read-chunk-size 16M --vfs-read-chunk-size-limit 64M --vfs-cache-max-size 10G --daemon

这样无需重新挂载,也可以有效提升目录的更新间隔

需要实时同步数据的话,挂载命令和增加volume挂载点share属性的命令必须在群晖计划任务中,设置开机执行(以root身份):

rclone mount alist:/ /volume1/rclone/alist/ --use-mmap --umask 000 --allow-other --allow-non-empty --dir-cache-time 3m --cache-dir=/volume1/rclone/cache --vfs-cache-mode full --buffer-size 512M --vfs-read-chunk-size 16M --vfs-read-chunk-size-limit 64M --vfs-cache-max-size 10G --daemon
mount --make-shared /volume1/

命令终端路径,请根据自己的情况进行修改


Rclone如果使用脚本安装失败,可以手动下载安装包进行安装,Rclone 是单文件程序,可以直接下载最新 Release,设置环境变量后即可使用:

curl -O https://downloads.rclone.org/rclone-current-linux-amd64.zip
unzip rclone-current-linux-amd64.zip
cd rclone-*-linux-amd64
sudo cp rclone /usr/bin/
sudo chown root:root /usr/bin/rclone
sudo chmod 755 /usr/bin/rclone

视频中工具软件下载地址:

核显直通vbios适用于英特尔6-14代CPU:
链接:https://pan.quark.cn/s/bb1f59e080da

kodi中文语言包_19及以上版本:
链接:https://pan.quark.cn/s/ac3aa18b03c3

rclone-current-linux-amd64.zip:
链接:https://pan.quark.cn/s/cc604f34e310

LibreELEC-Generic.x86_64-11.0.6.img:
链接:https://pan.quark.cn/s/f5fd20f6c9e4


115资源分享,可在本站资源分享栏目中找到,目前已收集大包等资源约5000T


本教程配套操作视频:

正文完
 1
评论(没有评论)