「道理鱼音乐管理平台」:打造你的 NAS 私人音乐库
本文最后更新于 2025-10-23,文章内容可能已经过时。
🧾 详细介绍
道理鱼音乐管理平台 是一款面向 NAS 用户的音乐管理与播放系统,支持媒体扫描、元数据补全、收藏与队列管理、自动转码等功能。支持 Docker 快速部署,也可本地运行,适合技术爱好者和音乐收藏控。
✨ 核心亮点
🔍 媒体扫描:支持多目录配置,自动解析 ID3 元数据、封面、歌词并写入数据库。
🎧 智能播放:Web 前端支持队列、收藏、音量与进度控制,令牌式音频流与 HLS 播放。
👥 账号系统:支持管理员与普通用户权限区分,开放注册、资料修改、密码变更与头像上传。
💖 收藏体系:曲目、专辑、歌单收藏一应俱全,可直接加入播放器队列。
📢 实时通知:内置 WebSocket 网关,后续可扩展扫描与播放的实时反馈。
🔄 转码缓存:集成 FFmpeg 实时转码,自动生成指定码率缓存并后台统计与清理。
🧩 插件与元数据:自动识别插件清单,支持多元数据源启用与优先级配置。
📝 前期准备
在电脑本地新建文件
.env并把下面内容复制到 .env 保存
# 管理员用户显示名称
ADMIN_DISPLAY_NAME="admin"
# 管理员用户邮箱
ADMIN_EMAIL="artisan@88.com"
# 管理员用户密码 (请务必修改为强密码)
ADMIN_PASSWORD="admin1234"
# AcoustID API 密钥,用于音乐识别
ACOUSTID_API_KEY=""
# Last.fm API 密钥,用于获取音乐元数据
LASTFM_API_KEY=""
# Last.fm API 密钥的秘密
LASTFM_API_SECRET=""
# Spotify Token,用于 Spotify 集成 (如果使用)
SPOTIFY_TOKEN=""
# Spotify 客户端 ID
SPOTIFY_CLIENT_ID=""
# Spotify 客户端秘密
SPOTIFY_CLIENT_SECRET=""
上面内容可以根据自己实际需求进行修改,管理员用户密码 一定要修改。
上传 .env 文件到 飞牛部署Docker compose的相同目录
🐳部署指南
🎯 Docker Compose
docker-compose.yml 文件
services:
backend:
image: msmkls/daoliyu-backend:latest
container_name: daoliyu-backend
restart: unless-stopped
environment:
DATABASE_PROVIDER: "sqlite"
DATABASE_URL: "file:/app/data/dev.db"
APP_PORT: 4000
ADMIN_DISPLAY_NAME: "${ADMIN_DISPLAY_NAME}"
ADMIN_EMAIL: "${ADMIN_EMAIL}"
ADMIN_PASSWORD: "${ADMIN_PASSWORD}"
LIBRARY_ROOT: "/data/media"
PLAYLISTS_IMPORT_ROOT: "/data/playlists"
REGISTRATION_OPEN: "true"
PLUGINS_DIR: "/plugins"
ACOUSTID_API_KEY: "${ACOUSTID_API_KEY}"
LASTFM_API_KEY: "${LASTFM_API_KEY}"
LASTFM_API_SECRET: "${LASTFM_API_SECRET}"
SPOTIFY_TOKEN: "${SPOTIFY_TOKEN}"
SPOTIFY_CLIENT_ID: "${SPOTIFY_CLIENT_ID}"
SPOTIFY_CLIENT_SECRET: "${SPOTIFY_CLIENT_SECRET}"
REDIS_URL: "redis://redis:6379/0"
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
container_name: daoliyu-frontend
restart: unless-stopped
depends_on:
- backend
ports:
# 5173是本地访问端口,可以自行修改,8080是容器内端口,不要改动
- "5173:8080"
redis:
image: redis:7-alpine
container_name: daoliyu-redis
restart: unless-stopped
command: ["redis-server", "--appendonly", "yes"]
volumes:
- redis_data:/data
volumes:
redis_data:
- ./media:/data/media: ./media 设置为音乐文件所在目录。
在飞牛主页面找到 Docker 打开后,切换菜单 Compose -> 新增项目。
创建项目页面根据实际情况定义 项目名称、选择 路径,并把上面 docker-compose.yml 文件内容复制填入 来源 文本框内容。按需修改检查无误后点击 确定 按钮进行部署。
返回 Docker管理页面,在 容器 菜单,就可以看到运行情况。
📖使用
浏览器访问
http://nas-ip:5173并登录
邮箱是上面
.env中ADMIN_EMAIL填入的内容。密码是上面
.env中ADMIN_PASSWORD填入的内容。
首页
媒体库扫描
返回首页播放音乐
其它个性化设可以进入
系统设置设置
⚠️ 总结
🎶 道理鱼音乐管理平台作为一款面向 NAS 用户的全栈音乐系统,已经具备了从媒体扫描到播放、收藏、转码、通知等一系列实用功能。通过 Docker 快速部署,几步操作即可拥有属于自己的音乐空间。
