前言
在现代的数字化生活中,音乐已经成为我们日常生活的一部分,如何高效地管理和播放音乐也成了不少音乐爱好者关注的问题。道理鱼音乐管理平台,作为一款专为 NAS 用户设计的音乐管理与播放系统,提供了全面的功能支持。从媒体扫描、元数据补全到智能播放、实时通知,它不仅能够帮助你整理和管理大量的音乐文件,还能为你提供流畅的播放体验。
如果你正在寻找一款适合在 VPS 或 NAS 上部署的音乐管理软件,且希望利用 Docker 实现快速部署,那么道理鱼无疑是一个值得考虑的选择。无论你是技术爱好者,还是音乐收藏控,这款软件都能为你提供方便、灵活且高效的管理方式。接下来,我们将通过 Docker 来部署道理鱼音乐管理平台,让你轻松拥有一个属于自己的音乐管理中心。
项目简介
1.道理鱼音乐
道理鱼音乐管理平台 是一款面向 NAS 用户的音乐管理与播放系统

功能特点
- 🔍 媒体扫描:支持多目录配置,自动解析 ID3 元数据、封面、歌词等信息,并写入数据库,极大提升管理效率。
- 🎧 智能播放:Web 前端提供队列、收藏、音量和进度控制功能,支持令牌式音频流和 HLS 播放,确保高质量播放体验。
- 👥 账号系统:拥有管理员与普通用户权限区分,支持开放注册、资料修改、密码更改和头像上传等功能,满足个性化需求。
- 💖 收藏体系:曲目、专辑和歌单的收藏功能一应俱全,轻松管理并可直接将喜欢的内容加入播放器队列。
- 📢 实时通知:内置 WebSocket 网关,能够提供实时扫描和播放反馈,提升用户交互体验。
- 🔄 转码缓存:集成 FFmpeg 实时转码功能,自动生成指定码率的缓存文件,并具备后台统计与清理功能,确保系统高效运行。
- 🧩 插件与元数据:自动识别插件清单,支持多元数据源的启用与优先级配置,灵活拓展,提升系统兼容性和功能性。
项目图片
首页

专辑

歌曲库

音乐视频

歌曲信息

用户管理

元数据修正

2.箭头音乐
箭头音乐是一款现代化的音乐播放器,兼容 Subsonic、Navidrome、Jellyfin、Emby、Swing Music、道理鱼 等多种音乐服务器。
✨ 为每位音乐爱好者打造的强大功能
🎧 Universal Music Access
按艺术家、专辑、播放列表、收藏夹或文件夹浏览和播放您的音乐收藏。高级搜索功能可帮助您立即在多个服务器上找到任何歌曲。
⚡智能离线缓存功能
可自动存储当前曲目和下一曲,即使网络连接中断也能流畅播放。非常适合旅行或网络受限的情况。
🔊专业音频控制
通过音量、音调和速度调节,微调您的聆听体验。内置均衡器,带来高品质音效,打造完全个性化的音频体验。
🧠同步和播放记忆
Amcfy Music 会记住您上次播放的曲目,并将您的播放进度与您的音乐服务器同步——在任何设备上,都能从上次中断的地方继续播放。
📝歌词及元数据支持
显示嵌入式歌词和从外部 API 获取的歌词。自动享受丰富的元数据、专辑封面和艺人作品。
🎨现代优雅的用户界面
简洁、流畅、响应迅速的界面,旨在提供优质的聆听体验。
🌍国际化支持
支持简体中文、繁体中文、英文、日文和韩文,并提供更多语言的自助翻译服务。
部分截图

播放界面自定义

播放器增强控制


箭头音乐APP
部署方法
使用Docker安装
本教程使用docker的方式安装部署,简单便捷

准备条件
1)一台服务器
我们使用莱卡云VPS和飞牛云NAS来演示
需要vps的可以看以下信息配置可以参考以下资源占用情况
莱卡云官网
本期docker容器占用资源情况如下仅供参考,总体占用内存不足200M

2)本项目使用到的项目
本项目的官方网站
https://dlyu.cn/
目前已对接移动APP
https://cn.amcfy.com/
本镜像的官方地址
https://hub.docker.com/u/msmkls
更多功能或者二次修改可以访问开源项目地址
3)域名(可选)
域名可以根据自己的需求绑定,建议绑定下域名
① 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文件
登录服务器使用root账户执行以下步骤
道理鱼有两个版本PostgreSQL / SQLite 本教程演示的是PostgreSQL版本
创建一个目录,并进入此目录
mkdir daoliyu; cd daoliyu
然后再新建docker-compose.yml
vim docker-compose.yml
services:
backend: # 后端服务
image: msmkls/daoliyu-backend:0.1.9 # 后端镜像
container_name: daoliyu-backend # 容器名称
restart: always # 容器崩溃时自动重启
depends_on:
- postgres # 后端依赖于Postgres数据库服务
- redis # 后端依赖于Redis缓存服务
environment: # 环境变量
NODE_ENV: production # 生产环境
DATABASE_URL: "postgresql://daoliyu:daoliyupassword@postgres:5432/daoliyu" # PostgreSQL数据库连接地址
APP_PORT: 4000 # 后端应用的端口号
LIBRARY_ROOT: "/data/media" # 媒体库的根目录
REDIS_URL: "redis://redis:6379/0" # Redis连接地址
volumes:
- ./backend-storage:/app/storage # 持久化后端数据
- ./music:/data/media # 存放歌曲目录
- ./audiobooks:/data/audiobooks # 存放有声书目录
- ./music-videos:/data/music-videos # 存放音乐视频目录
- ./playlists:/data/playlists # 存放歌单目录
postgres: # PostgreSQL 数据库服务
image: postgres:16-alpine # 使用PostgreSQL 16版本的Alpine镜像
container_name: daoliyu-postgres # 容器名称
restart: always # 容器崩溃时自动重启
environment: # 环境变量
POSTGRES_DB: "daoliyu" # 数据库名称
POSTGRES_USER: "daoliyu" # 数据库用户名
POSTGRES_PASSWORD: "daoliyupassword" # 数据库密码
ports:
- "5433:5432" # 将宿主机的5433端口映射到容器的5432端口
volumes:
- ./docker-data/postgres:/var/lib/postgresql/data # 将数据库数据存储到宿主机目录
redis: # Redis 缓存服务
image: redis:7-alpine # 使用Redis 7版本的Alpine镜像
container_name: daoliyu-redis # 容器名称
restart: always # 容器崩溃时自动重启
volumes:
- ./docker-data/redis:/data # 将Redis数据存储到宿主机目录
frontend: # 前端服务
image: msmkls/daoliyu-frontend:0.1.9 # 前端镜像
container_name: daoliyu-frontend # 容器名称
restart: always # 容器崩溃时自动重启
depends_on:
- backend # 前端依赖后端服务
ports:
- "5173:8080" # 将宿主机的5173端口映射到容器的8080端口
注意音乐目录映射的问题
三、执行容器运行命令
docker-compose up -d #运行容器
docker-compose ps #查看是否启动成功
正常启动如下所示
docker-compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
daoliyu-backend msmkls/daoliyu-backend:0.1.9 "/app/entrypoint.sh" backend 14 seconds ago Up 10 seconds 4000/tcp
daoliyu-frontend msmkls/daoliyu-frontend:0.1.9 "/docker-entrypoint.…" frontend 14 seconds ago Up 9 seconds 80/tcp, 0.0.0.0:5173->8080/tcp, [::]:5173->8080/tcp
daoliyu-postgres postgres:16-alpine "docker-entrypoint.s…" postgres 16 seconds ago Up 12 seconds 0.0.0.0:5433->5432/tcp, [::]:5433->5432/tcp
daoliyu-redis redis:7-alpine "docker-entrypoint.s…" redis 16 seconds ago Up 12 seconds 6379/tcp
四、打开web页面使用
成功以后需要打开自己相应的端口5173)防火墙就可以web端访问了
主界面
http://ip:5173
开箱即用

第一次需要初始化管理员用户名和密码

扫描后出音乐

开始扫描

音乐出来了


其他自行探索
②飞牛云NAS部署
新建项目
daoliyu
复制以上vps上的yaml文件

正常启动即可-注意./media替换为自己的音乐路径

链接APP直接填入相应的信息即可
绑定域名
建议绑定下域名
视频教程
B站
YouTube
绑定域名可以参考
NginxProxyManager
https://duan.yyzq.eu.org//npm-ch
有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我
欢迎关注我们的微信公众号!


评论区