「道理鱼音乐管理平台」:打造你的 NAS 私人音乐库
🧾 详细介绍
道理鱼音乐管理平台 是一款面向 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 快速部署,几步操作即可拥有属于自己的音乐空间。
评论区