前言
在现代的数字化生活中,音乐已经成为我们日常生活的一部分,如何高效地管理和播放音乐也成了不少音乐爱好者关注的问题。道理鱼音乐管理平台,作为一款专为 NAS 用户设计的音乐管理与播放系统,提供了全面的功能支持。从媒体扫描、元数据补全到智能播放、实时通知,它不仅能够帮助你整理和管理大量的音乐文件,还能为你提供流畅的播放体验。
如果你正在寻找一款适合在 VPS 或 NAS 上部署的音乐管理软件,且希望利用 Docker 实现快速部署,那么道理鱼无疑是一个值得考虑的选择。无论你是技术爱好者,还是音乐收藏控,这款软件都能为你提供方便、灵活且高效的管理方式。接下来,我们将通过 Docker 来部署道理鱼音乐管理平台,让你轻松拥有一个属于自己的音乐管理中心。
项目简介
道理鱼音乐管理平台 是一款面向 NAS 用户的音乐管理与播放系统
功能特点
- 🔍 媒体扫描:支持多目录配置,自动解析 ID3 元数据、封面、歌词等信息,并写入数据库,极大提升管理效率。
- 🎧 智能播放:Web 前端提供队列、收藏、音量和进度控制功能,支持令牌式音频流和 HLS 播放,确保高质量播放体验。
- 👥 账号系统:拥有管理员与普通用户权限区分,支持开放注册、资料修改、密码更改和头像上传等功能,满足个性化需求。
- 💖 收藏体系:曲目、专辑和歌单的收藏功能一应俱全,轻松管理并可直接将喜欢的内容加入播放器队列。
- 📢 实时通知:内置 WebSocket 网关,能够提供实时扫描和播放反馈,提升用户交互体验。
- 🔄 转码缓存:集成 FFmpeg 实时转码功能,自动生成指定码率的缓存文件,并具备后台统计与清理功能,确保系统高效运行。
- 🧩 插件与元数据:自动识别插件清单,支持多元数据源的启用与优先级配置,灵活拓展,提升系统兼容性和功能性。
项目图片
首页
专辑
歌曲库
歌曲信息
用户管理
元数据修正
部署方法
使用Docker安装
本教程使用docker的方式安装部署,简单便捷
准备条件
1)一台服务器
我们使用莱卡云VPS和飞牛云NAS来演示
需要vps的可以看以下信息配置可以参考以下资源占用情况
莱卡云官网
本期docker容器占用资源情况如下仅供参考,总体占用内存不足200M
2)本项目使用到的项目
本镜像的官方地址
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账户执行以下步骤
创建一个目录,并进入此目录
mkdir daoliyu;cd daoliyu
然后再新建docker-compose.yml
vim docker-compose.yml
services:
backend:
image: msmkls/daoliyu-backend:latest # 使用的 Docker 镜像
container_name: daoliyu-backend # 容器名称
restart: always # 容器总是重启
environment:
DATABASE_PROVIDER: "sqlite" # 数据库提供者,使用 sqlite
DATABASE_URL: "file:/app/data/dev.db" # 数据库文件路径
APP_PORT: 4000 # 应用监听端口
ADMIN_DISPLAY_NAME: "admin" # 管理员用户显示名称
ADMIN_EMAIL: "admin@yyzq.cf" # 管理员用户邮箱
ADMIN_PASSWORD: "admin123" # 管理员用户密码 (请务必修改为强密码)
LIBRARY_ROOT: "/data/media" # 媒体文件库根路径
PLAYLISTS_IMPORT_ROOT: "/data/playlists" # 播放列表导入根路径
REGISTRATION_OPEN: "true" # 是否开放注册
PLUGINS_DIR: "/plugins" # 插件目录
ACOUSTID_API_KEY: "" # AcoustID API 密钥,用于音乐识别
LASTFM_API_KEY: "" # Last.fm API 密钥,用于获取音乐元数据
LASTFM_API_SECRET: "" # Last.fm API 密钥的秘密
SPOTIFY_TOKEN: "" # Spotify Token,用于 Spotify 集成 (如果使用)
SPOTIFY_CLIENT_ID: "" # Spotify 客户端 ID
SPOTIFY_CLIENT_SECRET: "" # Spotify 客户端秘密
REDIS_URL: "redis://redis:6379/0" # Redis 数据库连接 URL
LOG_LEVEL: "debug" # 日志级别
DEBUG: "true" # 是否开启调试模式
volumes:
- ./backend-data:/app/data # 持久化数据库文件
- ./backend-storage:/app/storage # 持久化存储文件
- ./media:/data/media # 持久化媒体文件(歌曲放这里)
- ./playlists:/data/playlists # 持久化播放列表文件
- ./plugins:/plugins # 持久化插件文件(目前未启用)
healthcheck:
test: ["CMD", "wget", "-qO-", "http://localhost:4000/health"] # 健康检查命令
interval: 30s # 健康检查间隔时间
timeout: 5s # 健康检查超时时间
retries: 5 # 健康检查失败的重试次数
frontend:
image: msmkls/daoliyu-frontend:latest # 使用的 Docker 镜像
container_name: daoliyu-frontend # 容器名称
restart: always # 容器总是重启
depends_on:
- backend # 启动顺序:前端依赖后端服务
ports:
- "5173:8080" # 5173是本地访问端口,8080是容器内端口
redis:
image: redis:alpine # 使用的 Redis 镜像
container_name: daoliyu-redis # 容器名称
restart: always # 容器总是重启
command: ["redis-server", "--appendonly", "yes"] # 启动 Redis 服务,开启 AOF 持久化
volumes:
- ./redis_data:/data # Redis 数据持久化到当前目录
三、执行容器运行命令
docker-compose up -d #运行容器
docker-compose ps #查看是否启动成功
正常启动如下所示
docker-compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
daoliyu-backend msmkls/daoliyu-backend:latest "/entrypoint.sh" backend 31 minutes ago Up 31 minutes (healthy) 4000/tcp
daoliyu-frontend msmkls/daoliyu-frontend:latest "/docker-entrypoint.…" frontend 31 minutes ago Up 31 minutes 80/tcp, 0.0.0.0:5173->8080/tcp, [::]:5173->8080/tcp
daoliyu-redis docker.itelyou.cf/redis:alpine "docker-entrypoint.s…" redis 31 minutes ago Up 31 minutes 6379/tcp
四、打开web页面使用
成功以后需要打开自己相应的端口5173)防火墙就可以web端访问了
主界面
http://ip:5173
开箱即用
默认管理员用户名和密码见配置文件
扫描后出音乐
开始扫描
音乐出来了
其他自行探索
②飞牛云NAS部署
新建项目
daoliyu
复制以上vps上的yaml文件
正常启动即可-注意./media替换为自己的音乐路径
绑定域名
建议绑定下域名
视频教程
B站
YouTube
绑定域名可以参考
NginxProxyManager
https://duan.yyzq.eu.org//npm-ch
有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我
欢迎关注我们的微信公众号!
评论区