「道理鱼音乐管理平台」:打造你的 NAS 私人音乐库
🧾 详细介绍
道理鱼音乐管理平台 是一款面向 NAS 用户的音乐管理与播放系统,支持媒体扫描、元数据补全、收藏与队列管理、自动转码等功能。支持 Docker 快速部署,也可本地运行,适合技术爱好者和音乐收藏控。
✨ 核心亮点
-
• 🔍
媒体扫描 :支持多目录配置,自动解析 ID3 元数据、封面、歌词并写入数据库。
-
• 🎧
智能播放 :Web 前端支持队列、收藏、音量与进度控制,令牌式音频流与 HLS 播放。
-
• 👥
账号系统 :支持管理员与普通用户权限区分,开放注册、资料修改、密码变更与头像上传。
-
• 💖
收藏体系 :曲目、专辑、歌单收藏一应俱全,可直接加入播放器队列。
-
• 📢
实时通知 :内置 WebSocket 网关,后续可扩展扫描与播放的实时反馈。
-
• 🔄
转码缓存 :集成 FFmpeg 实时转码,自动生成指定码率缓存并后台统计与清理。
-
• 🧩 插件与元数据 :自动识别插件清单,支持多元数据源启用与优先级配置。
📝 前期准备
-
1. 在电脑本地新建文件 .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=""上面内容可以根据自己实际需求进行修改, 管理员用户密码 一定要修改。
2. 上传 .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 设置为音乐文件所在目录。
📖使用
-
1. 浏览器访问 http://nas-ip:5173 并登录
-
-
• 邮箱是上面 .env 中 ADMIN_EMAIL 填入的内容。
-
• 密码是上面 .env 中 ADMIN_PASSWORD 填入的内容。
⚠️ 总结
🎶
道理鱼音乐管理平台 作为一款面向 NAS 用户的全栈音乐系统,已经具备了从媒体扫描到播放、收藏、转码、通知等一系列实用功能。通过 Docker 快速部署,几步操作即可拥有属于自己的音乐空间。
微信扫一扫
关注该公众号
微信扫一扫
使用小程序
× 分析
微信扫一扫可打开此内容,
使用完整服务
: , , , , , , , , , , , , 。 视频 小程序 赞 ,轻点两下取消赞 在看 ,轻点两下取消在看 分享 留言 收藏 听过
阅读全文