基于网盘挂载搭建属于你自己的音乐服——navidrome
侧边栏壁纸
  • 累计撰写 17 篇文章
  • 累计收到 566 条评论

基于网盘挂载搭建属于你自己的音乐服——navidrome

syqman
2022-06-05 / 1 评论 / 1,581 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2022年06月08日,已超过911天没有更新,若内容或图片失效,请留言反馈。
项目介绍

l40thaia.png
官网地址: Navidrome
什么是Navidrome呢,引用官网的原话:

Navidrome is a self-hosted, open source music server and streamer. It gives you freedom to listen to your music collection from any browser or mobile device.

翻译成人话就是:

Navidrome 是一个自托管的开源音乐服务器和流媒体。它让您可以自由地从任何浏览器或移动设备收听您的音乐收藏。

特点:

  • 处理非常大的音乐收藏
  • 流式传输几乎任何可用的音频格式
  • 读取并使用您所有精心策划的元数据
  • 对合辑(各种艺术家专辑)和盒装(多碟专辑)的大力支持
  • 多用户,每个用户都有自己的播放次数、播放列表、收藏夹等…
  • 资源使用率极低
  • 多平台,可在 macOS、Linux 和 Windows 上运行。还提供了Docker镜像
  • 可用于所有主要平台的二进制文件,包括Raspberry Pi
  • 自动监控您的音乐库的更改、导入新文件和重新加载新元数据
  • 基于Material UI的主题化、现代和响应式Web 界面
  • 与所有 Subsonic/Madsonic/Airsonic客户端兼容
  • 即时转码。可以为每个用户/玩家设置。支持 Opus 编码
  • 翻译成各种语言
    缺点
  • 除web外,客户端不支持歌词显示
  • 不支持web上传歌曲文件
  • 不支持歌曲分享

准备工作
  • 一台干净的VPS,安装好Debian 11,本文以甲骨文春川arm 2c12g为例。
  • 自行解决rclone网盘配置,网盘里有完整tag标签的音乐资源。
安装Rclone

首先更新下自带的软件源并安装必要的命令:

apt update
apt upgrade -y
apt install curl wget fuse pv sudo -y

安装rclone

curl https://rclone.org/install.sh | sudo bash

输入 rclone config ,提示
l40r42e9.png
表示rclone安装完成。
复制自己的 rclone.conf/root/.config/rclone ,此处的 rclone.conf 自行查找网上教程,复制完成后,再次输入rclone config,提示
l40r71yr.png
rclone配置完成。

安装Rclone挂载服务

本文以世纪互联sharepoint,rclone配置名为sp01网盘下的music为例

cd /lib/systemd/system
vi rclone-sp01.service

填入以下内容

[Unit]
Description=OneDrive Sharepoint (rclone)
Requires=network-online.target
After=network-online.target

[Service]
Type=simple
ExecStart=/usr/bin/rclone mount sp01: /mnt/sp01 --umask 000 \
--allow-other \
--allow-non-empty \
--use-mmap \
--dir-cache-time 5m \
--vfs-cache-mode writes \
--buffer-size 100M \
--vfs-read-chunk-size 256M \
--vfs-read-chunk-size-limit 4G \
--no-modtime \
--config /root/.config/rclone/rclone.conf 
ExecStop=/bin/fusermount -u /mnt/sp01
Restart=always
RestartSec=10

[Install]
WantedBy=default.target

ESC ,输入 :wq 保存退出。
mnt 目录下创建 sp01 的文件夹,然后运行 rlone-sp01.service 的服务

systemctl start rclone-sp01.service

加入开机启动

systemctl enable rclone-sp01.service

查看下 /mnt/sp01 目录下有无内容,有表示rlone挂载服务安装完成。

安装Docker和Docker-compose
curl -fsSL https://get.docker.com | bash -s docker 

sudo curl -L --fail https://raw.githubusercontent.com/linuxserver/docker-docker-compose/master/run.sh -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

root 目录下新建 docker-compose.yml ,输入以下内容

version: "3"
services: 
  navidrome:
    image: deluan/navidrome:latest
    container_name: navidrome
    ports:
      - "4533:4533"   
    restart: unless-stopped
    environment:
      ND_SCANSCHEDULE: 1h   #扫描计划
      ND_LASTFM_ENABLED: #设置第三方链接lastfm,将此设置false为完全禁用默认Last.fm 集成 true
      ND_LASTFM_APIKEY: abcdefghijklml # 修改成自己的APIKEY
      ND_LASTFM_SECRET: abcdefghijklml  # 修改成自己的SECRET
      ND_LASTFM_LANGUAGE: zh  #用于从 Last.fm 检索传记的语言的两个字母代码 zh
      ND_LOGLEVEL: info  #日志级别,可能的值:error, warn, info,debug,trace
      ND_SESSIONTIMEOUT: 24h #会话超时,Navidrome 在关闭 Web ui 空闲会话之前将等待多长时间
      ND_BASEURL: "/music"  #基本网址,path用于在代理后面配置 Navidrome的基本 URL(仅部分)(例如/music:)默认空
      ND_ENABLETRANSCODINGCONFIG: "true" #在 UI 中启用转码配置
      ND_TRANSCODINGCACHESIZE: "200M" #转码缓存的大小。设置"0"为禁用缓存 默认"100MB"
      ND_IMAGECACHESIZE: "200M"  #图像(艺术作品)缓存的大小。设置"0"为禁用缓存,默认"100MB"
      ND_UIWELCOMEMESSAGE: "念念不忘,必有回响" #web页面的欢迎词"
    volumes:
      - "/home/navidrome:/data"
      - "/mnt/sp01/music:/music:ro"  

其中,

ND_LASTFM_ENABLED: #设置第三方链接lastfm,将此设置false为完全禁用默认Last.fm 集成 true
ND_LASTFM_APIKEY: abcdefghijklml # 修改成自己的APIKEY
ND_LASTFM_SECRET: abcdefghijklml  # 修改成自己的SECRET
ND_LASTFM_LANGUAGE: zh  #用于从 Last.fm 检索传记的语言的两个字母代码 zh
ND_BASEURL: "/music"  #基本网址,path用于在代理后面配置 Navidrome的基本 URL(仅部分)(例如/music:)默认空

这几项可先不配置,有需求的自行研究。
运行Docker-compose服务

docker-compose up -d 

打开网页,输入http://your-vpsip:4533/,创建管理员账户,和密码
l40s4do2.png
设置完成后,发现navidrome已经在扫我的音乐库了
l40s6bdf.png
修改下语言,点击右上角头像-Personal-language选择简体中文
l40saleb.png
其余设置项自行研究,如主题,对接last.fm,listembrainz等。
至此,Navidrome音乐服务端已经安装完成,
下载下 客户端 体验一下吧。
l40sgwrv.png

这里我没有每个客户端都用过,本人安卓手机用的多,推荐
subtracks :开源项目,支持中文,多音乐服地址,缺点,UI比较不讨喜,随机播放音乐只能以整张专辑来。
substreamer :这款UI我比较喜欢,支持随机播放曲库,有算法推荐,缺点,不支持中文,不支持多音乐服地址。

总结

navidrome的安装教程就到这里,如果你只是想要开箱即用的,查看本篇就够了,navidrome的进阶设置打算另外开一篇。

0

评论 (1)

取消
  1. 头像
    阿蛮君
    Windows 10 · Google Chrome

    请问substreamer如何随机播放曲库,我感觉好像还是只能按专辑播放呢?

    回复