前言
在数字音乐流媒体盛行的今天,许多人仍然习惯将音乐文件保存到本地硬盘或 NAS(网络附加存储)中,方便长期收藏与管理。然而,传统的本地播放方式往往缺乏统一的管理和便捷的访问体验。为了解决这个问题,我们可以在 NAS 上搭建一套属于自己的音乐服务器。
本文将以 飞牛云 NAS 为例,介绍如何通过 Docker 部署一个基于 Node.js 的本地音乐服务器。它能够高效管理你的本地音乐文件,让 NAS 摇身一变成为你的私人音乐库。无论是家庭共享还是个人收藏,都能带来流畅而舒适的听歌体验。如果想搭建Navidrome的可以参考这个Navidrome部署
项目简介
🎵 NAS 音乐服务器
一个功能强大的基于 Node.js 的音乐服务器,支持本地音乐管理
项目图片
主页面
专辑管理
艺术家管理
设置页面
音乐详情
艺术家详情
✨ 功能特性
🎵 本地音乐管理
- 📁 媒体库扫描: 自动扫描本地音乐文件,支持多种音频格式
- 🏷️ 元数据提取: 自动提取音乐文件的标签信息(标题、艺术家、专辑等)
- 📊 智能分类: 按专辑、艺术家、流派等自动分类管理
- 🔄 数据同步: 与在线音乐服务同步,获取更完整的音乐信息
- ❤️ 收藏功能: 支持音乐收藏和播放历史记录
🔍 在线音乐搜索
- 🌐 多平台搜索: 支持网易云音乐、QQ音乐、酷狗音乐等主流平台
- 🎯 智能匹配: 基于本地音乐信息智能匹配在线资源
- 📝 歌词获取: 自动获取和显示歌词信息
- 🖼️ 封面下载: 自动下载专辑封面图片
- 💾 缓存机制: 智能缓存搜索结果,提高响应速度
🎨 用户界面
- 🎨 现代化设计: 采用现代化的UI设计,支持深色主题
- 📱 响应式布局: 完美适配桌面端、平板和移动端
- 🔍 实时搜索: 支持实时搜索和过滤功能
- 🎮 播放控制: 集成音乐播放器,支持播放控制
- 📊 数据统计: 实时显示音乐库统计信息
🔧 系统管理
- ⚙️ 设置管理: 完整的系统设置界面
- 🔄 数据同步: 一键同步本地与在线音乐数据
- 🔍 刮削功能: 自动获取音乐元数据信息
- 📈 性能监控: 内存使用和系统性能监控
部署方法
使用Docker安装
本教程使用docker的方式安装部署,简单便捷
准备条件
1)一台服务器或者NAS(理论上只有其他NAS都可以)
我们使用飞牛云NAS和VPS来演示
需要vps的可以看以下信息
莱卡云官网
2)本项目使用到的开源项目
https://gitee.com/yanfanVIP/nas-music
更多功能或者二次修改可以访问gitee
3)域名(可选)
域名可以根据自己的需求绑定
①《飞牛NAS上搭建》
新建项目:
nas-music
compose配置如下:
services:
nas-music:
image: ywsj/nas-music:latest # 使用本地构建的 ywsj/nas-music:latest 镜像
container_name: nas-music # 容器名称
restart: always # 容器异常退出时自动重启
ports:
- "3044:3000" # 映射宿主机 3044 端口到容器 3000 端口
volumes:
- ./db:/opt/app/db # 数据库存储目录(挂载到容器 /opt/app/db)
- ./music:/opt/app/music # 音乐文件目录(请修改 ./music 为你自己的 NAS 音乐目录)
environment:
- TZ=Asia/Shanghai # 设置容器时区为上海
提示:./music为你的NAS的音乐路径默认是当前目录music
可以按照如下图中复制你NAS的真实路径
复制原始路径
比如我的是
/vol3/1000/music/music
接下来启动即可
正常启动
打开
飞牛云的
ip:4033(防火墙放开)
端口即可打开
按图扫描即可使用
补充docker可用的镜像仓库
国内如果无法拉取镜像的可以使用
仓库1
https://1ms.run/
仓库2
https://docker.ywsj.tk/
仓库3
https://mirror.azure.cn/
仓库4
https://hub.rat.dev/
仓库5
https://docker.1ms.run
仓库6
https://docker.itelyou.cf/
仓库7
https://abc.itelyou.cf/
②《vps上搭建》
注意如果你在服务器上搭建的话这个音乐界面是不需要登录的,这样谁都可以进入你的音乐界面,不安全,有兴趣的可自行添加用户登录鉴权
一、Docker环境部署
在vps安装docker和docker-compose
Docker官方安装文档(英文)
https://duan.yyzq.eu.org/docker-001
Docker-Compose官方安装文档(英文)
https://duan.yyzq.eu.org/docker-002
Centos安装Docker和Docker-compose(中文)
https://duan.yyzq.eu.org//03
Ubuntu安装Docker和Docker-compose(中文)
https://duan.yyzq.eu.org//04
推荐直接用一键脚本
docker安装脚本
bash <(curl -sSL https://cdn.jsdelivr.net/gh/SuperManito/LinuxMirrors@main/DockerInstallation.sh)
docker-compose安装脚本
curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose
二、创建docker-compose.yml文件
mkdir nas-music;cd nas-music #创建一个目录,并进入此目录
然后再新建docker-compose.yml
vim docker-compose.yml
services:
nas-music:
image: ywsj/nas-music:latest # 使用本地构建的 ywsj/nas-music:latest 镜像
container_name: nas-music # 容器名称
restart: always # 容器异常退出时自动重启
ports:
- "3044:3000" # 映射宿主机 3044 端口到容器 3000 端口
volumes:
- ./db:/opt/app/db # 数据库存储目录(挂载到容器 /opt/app/db)
- ./music:/opt/app/music # 音乐文件目录(请修改 ./music 为你自己的 NAS 音乐目录)
environment:
- TZ=Asia/Shanghai # 设置容器时区为上海
三、执行容器运行命令
docker-compose up -d #运行容器
docker-compose ps #查看是否开启成功
正常启动如下所示
docker-compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
nas-music ywsj/nas-music:latest "npm start" nas-music 5 seconds ago Up 4 seconds 0.0.0.0:3044->3000/tcp, [::]:3044->3000/tcp
四、打开web页面使用
成功以后需要打开自己相应的端口(3044)防火墙就可以web端访问了
http://ip:3044
其他步骤参考以上NAS内容
③《dockge上搭建》
直接复制docker-compose内容然后启动即可
绑定域名
如需绑定域名的自行绑定
绑定域名可以参考
NginxProxyManager
https://duan.yyzq.eu.org//npm-ch
绑定完域名配置好证书就可以用域名来访问了
有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我
欢迎关注我们的微信公众号!
评论区