在这里插入图片描述

周六一大早做了普查,为了保鲜,周一下午二点多去公司边上的常规点做了一次核酸,估摸着周二上班怎么也应该出来了,但是没想到我的核酸过期了

同事在同一个点比我晚两个小时做的核酸报告都出来了,可是我的居然还是 检测中,为了上班只能在众目睽睽下做了一次抗原检测

为了保险起见,昨天下午一点多又去做了一次,结果后做的都出来了,但周一做的依然还没出来,我不禁怀疑,是管子遗失了吗?这运气也是没谁了

在这里插入图片描述


自从阿里云盘可以挂载为 WebDAV 之后,老苏一直在琢磨怎么 将webdav挂载成为群晖的本地盘,目的就是让 JellyfinAirSonic 等多媒体软件可以直接使用阿里云盘中的多媒体资源,因为这些软件都不支持直接访问 WebDAV 资源。

之前的方案比较折腾,需要挂载两次:阿里云盘 --> WebDAV --> 本地盘,现在 aliyundrive-webdav 的作者又推出了 aliyundrive-fuse,可以让你越过中间的 WebDAV,直接将阿里云盘挂载成服务器的本地盘,虽然是只读,不支持写入,但用来做媒体播放是没问题的。

什么是 aliyundrive-fuse ?

阿里云盘 FUSE 磁盘挂载,主要用于配合 Emby 或者 Jellyfin 观看阿里云盘内容。

准备工作

获取refresh token

refresh token 的获取方法可以参考 『 能将阿里云盘挂载为webdav的webdav-aliyundriver

老苏不确定这两种方法是否依然有效,如果都失效了,您就百度一下吧

老苏之前安装过 aliyundrive-webdav,所以在安装目录中会保存最新的 refresh token 文件,打开文件复制就可以了

共享挂载

这是为主机中的映射卷启用共享挂载选项,老苏映射的目录在 volume2 上,如果你的目录是其他的卷上,记得修改

# 共享挂载  
mount --make-shared /volume2  

这条命令在群晖重启后需要重新执行,可以把这句命令,通过 任务计划 加到开机脚本中,具体方法可以参考👇下文:

群晖上通过RcloneBrowser挂载云盘 』 的命令行安装部分

命令行安装

因为用到了 fuse 挂载云存储,所以我们还是会采用命令行方式来进行安装

# 新建文件夹 aliyunfuse 和 子目录
mkdir -p /volume2/docker/aliyunfuse/media

# 进入目录
cd /volume2/docker/aliyunfuse

# 一键启动
docker run -d \
   --name aliyundrive-fuse \
   --restart unless-stopped \
   --privileged \
   --device /dev/fuse:/dev/fuse \
   --restart unless-stopped \
   -v $(pwd)/media:/mnt/aliyundrive:shared \
   -e TZ=Asia/Shanghai \
   -e REFRESH_TOKEN=<你的 refresh token> \
   messense/aliyundrive-fuse

如果不出意外,现在你可以在 File Station 中看到阿里云盘的内容了

设置 Jellyfin

如果你已经安装 jellyfin,只要停止容器,进入编辑状态,在 存储空间添加文件夹 ,将 /volume2/docker/aliyunfuse/media 添加为新的媒体库即可

如果你还没装 jellyfin ,可以直接在当前目录用命令行执行下面的命令

再新建两个子目录
mkdir -p {cache,config}

# 硬件支持硬解的一键启动
docker run -d \
   --name jellyfin \
   -v $(pwd)/config:/config \
   -v $(pwd)/cache:/cache \
   -v $(pwd)/media:/media \
   -p 8096:8096 \
   --device=/dev/dri/renderD128 \
   --device /dev/dri/card0:/dev/dri/card0 \
   --restart unless-stopped \
   jellyfin/jellyfin

如果在不支持硬解的机器上,可能会遇到下面的错误

docker: Error response from daemon: error gathering device information while adding custom device "/dev/dri/renderD128": no such file or directory.

或者

docker: Error response from daemon: error gathering device information while adding custom device "/dev/dri/card0": no such file or directory.

可以去掉 --device 部分,改为下面的命令

# 硬件不支持硬解的一键启动
docker run -d \
   --name jellyfin \
   -v $(pwd)/config:/config \
   -v $(pwd)/cache:/cache \
   -v $(pwd)/media:/media \
   -p 8096:8096 \
   --restart unless-stopped \
   jellyfin/jellyfin

如果你希望 Jellyfin 支持 DLNA,可以参考『 用Portainer安装Jellyfin媒体服务器(安装篇)』一文中的安装脚本

运行

虽然 aliyundrive-fuse 并不能指定挂载的目录,但 jellyfin 是可以设置位置的

刚挂载还没开始刮削,所以只能看到目录

在这里插入图片描述

过一会儿就好了

在这里插入图片描述

小结

参考文档

messense/aliyundrive-fuse: 阿里云盘 FUSE 磁盘挂载
地址:https://github.com/messense/aliyundrive-fuse

Logo

秉承“创新、开放、协作、共享”的开源价值观,致力于为大规模开源开放协同创新助力赋能,打造创新成果孵化和新时代开发者培养的开源创新生态!支持公有云使用、私有化部署以及软硬一体化私有部署。

更多推荐