Lazy loaded image
零成本、高隐私的WebDAV音乐流媒体方案
字数 2221阅读时长 6 分钟
2025-1-31
2025-2-1
type
status
date
slug
summary
tags
category
icon
password
网址
😀
还在为xx云听app的高会员费和卡顿加载速度困扰?厌倦了x声app隐私泄露风险与臃肿的UI设计?本文将手把手教你通过rclone+Alist实现网盘音乐资源WebDAV本地化挂载,结合Navidrome搭建私人流媒体服务器,并联动LrcAPI歌词引擎,最终达成:零订阅成本/毫秒级响应/全平台适配/歌词精准匹配的终极音乐体验,让音流APP真正释放WebDAV协议的完整潜力。
本文主要探讨在unRaid宿主机上通过userscript脚本实现开机启动Alist服务后通过rclone挂载WebDAV音乐资源到本地,并自动启动navidrome服务的方法。脚本涉及关键容器服务监控、rclone挂载参数的配置和故障修复等内容。
 

前期准备

  1. 已正常创建Alist、Navidrome和Lrcapi的docker容器。本文中Alist的容器名称为AList,Navidrome容器的名称为navidrome2,Lrcapi容器的名称为lrcapi2,与后续脚本相关配置相对应,请按需修改。
  1. unRaid主机已安装rclone、userscript服务插件,并已正确配置。脚本中rclone远程目录为MP:/,请按实际情况修改。
  1. 修改unRaid启动参数,添加tmpfs-size相关设定。
notion image

开机服务启动及检查脚本

脚本主要实现以下几个功能:
  • 开机监测Alist服务的启动,避免在Alist还没启动时运行rclone挂载程序导致失败的问题。脚本中alist服务的地址为http://192.168.31.254:5244,请按实际情况修改。
  • 创建tmpfs内存缓存挂载点,优化缓存读写
  • 优化rclone挂载参数,适配家庭千兆网络环境。减少本地磁盘写入,降低网络读取频次,减小Alist挂载网盘的API负担。
  • 监控挂载结果,避免未成功挂载目录的情况下启动Navidrome,导致音乐媒体服务不可用。
  • 通过corntab定期启动服务,实现服务监测和故障恢复。
通过userscript创建脚本。
脚本内容如下:
设定corntab执行计划*/5 * * * *,每5分钟执行一次检查。
notion image
运行结果

关机清理流程脚本

脚本主要实现以下功能:
  • 关机自动关闭依赖容器navidrome2和lrcapi2
  • 关机自动卸载rclone挂载服务,避免unRaid磁盘服务出现错误
  • 特殊情况下的强制卸载
  • 关机重启自动清空缓存目录
通过userscript创建脚本。
脚本内容如下:
设定脚本执行周期At stopping of Array
notion image
 
关于Navidrome、Lrcapi以及音流的使用,可以参考本站文章
上一篇
Rclone的VFS缓存模式与CD2的目录持久化
下一篇
2024年度观影报告