全栈音乐管理系统:道理鱼音乐

简介
什么是道理鱼音乐?
道理鱼音乐 是一款设计精美、功能强大的自托管音乐管理和播放平台。能帮助用户轻松扫描和管理本地音乐库,通过一个现代化的
Web界面,随时随地享受自己的音乐收藏。特别适合在NAS或个人服务器上搭建属于自己的私人音乐中心。
主要特点
-
高音质支持:支持多种高码率音频格式(如
DTS、DSD、APE、WMA等)以及音乐视频和有声书。 -
实时转码:能够自动将高码率格式转为兼容的流媒体,保证播放流畅且不卡顿。
-
封面管理:自动生成多个尺寸的封面缩略图(
100/300/600),提升列表加载速度。 -
多媒体库统一管理:将音乐、视频和有声书集中管理,自动解析元数据与封面。
-
轻量化部署:提供
PostgreSQL和SQLite的安装模式,易于部署和使用。 -
移动端支持:用户可通过移动端应用随时随地访问并播放音频内容。
-
快速上手:登录后自动扫描媒体库,识别格式与封面,提升用户体验。
应用场景
-
在群晖、飞牛或任何支持
Docker的NAS设备上,搭建个人音乐库。 -
为家庭成员或小团队提供一个共享的音乐服务。
-
替代公有云音乐服务,将自己的音乐数据掌握在自己手中。

道理鱼音乐为用户提供了丰富的音乐体验,使其能够便捷地探索和享受全球的音乐资源。
安装
在群晖上以 Docker 方式安装。
在注册表中搜索 daoliyu ,选择第四个 msmkls/daoliyu-music,版本选择 latest。
本文写作时,
latest版本对应为0.2.2;

官方推荐了 PostgreSQL/SQLite 两种数据库安装方式。老苏觉得,如果你音乐数量不多,而且只是自己用的话,可以考虑采用 SQLite 轻量版部署,无需独立数据库服务。否则建议使用 PostgreSQL 版部署。
下面的 docker-compose.yml 以 PostgreSQL 数据库为示例
services:
postgres:
image: postgres:16-alpine
container_name: daoliyu-postgres
restart: unless-stopped
environment:
POSTGRES_DB: "daoliyu"
POSTGRES_USER: "daoliyu"
POSTGRES_PASSWORD: "daoliyupassword"
PGDATA: "/var/lib/postgresql/data/pgdata"
command:
- "postgres"
- "-c"
- "max_connections=200"
- "-c"
- "shared_buffers=256MB"
- "-c"
- "work_mem=32MB"
- "-c"
- "maintenance_work_mem=256MB"
- "-c"
- "checkpoint_completion_target=0.9"
- "-c"
- "wal_buffers=16MB"
- "-c"
- "port=5433"
healthcheck:
test: ["CMD-SHELL","pg_isready -U daoliyu -d daoliyu -p 5433"]
interval: 10s
timeout: 5s
retries: 6
start_period: 30s
# ports:
# - "5433:5433"
volumes:
- ./data:/var/lib/postgresql/data
backend:
image: msmkls/daoliyu-music:latest
container_name: daoliyu-music
restart: unless-stopped
depends_on:
postgres:
condition: service_healthy
environment:
NODE_ENV: production
DB_PROVIDER: "pg"
LOG_LEVEL: "${LOG_LEVEL:-info}"
DEBUG: "${DEBUG:-true}"
# STREAMING_TRANSCODE_ENABLED: "true"
# VIDEO_HWACCEL: "vaapi"
# VIDEO_HWACCEL_DEVICE: "/dev/dri/renderD128"
# LIBVA_DRIVER_NAME: "iHD"
# devices:
# - /dev/dri:/dev/dri
ports:
- "5173:4000"
volumes:
- ./backend-storage:/app/storage
- ./media:/data/media
- ./audiobooks:/data/audiobooks
- ./music-videos:/data/music-videos
- ./playlists:/data/playlists
- ./plugins:/plugins
healthcheck:
test: ["CMD","wget","-qO-","http://localhost:4000/health"]
interval: 30s
timeout: 5s
retries: 5一些简单的说明:
- 关于卷
./backend-storage /app/storage 后端存储
./media /data/media 音乐目录
./media1 /data/media1 自定义音乐目录
./audiobooks /data/audiobooks 有声书
./audiobooks1 /data/audiobooks1 自定义有声书
./music-videos /data/music-videos 音乐视频
./playlists /data/playlists 歌单目录
./plugins /plugins 插件目录
- 硬件加速
如果你的设备支持硬件加速,可以取消下面代码前面的 # 启用加速功能
# devices:
# - /dev/dri:/dev/dri然后启用对应的环境变量
STREAMING_TRANSCODE_ENABLED 开启流媒体转码(默认值为 true),用于实时转码音频/视频。
VIDEO_HWACCEL 视频硬件加速设置(默认为 vaapi),提升视频处理性能。
VIDEO_HWACCEL_DEVICE 指定硬件加速设备的路径(例如 /dev/dri/renderD128),用于检测硬件。
LIBVA_DRIVER_NAME 设置 LIBVA 驱动名称(例如 iHD),与硬件加速兼容。
然后通过 SSH 登录到您的群晖,执行下面的命令:
# 新建文件夹 daoliyu 和 子目录
mkdir -p /volume1/docker/daoliyu/{data,backend-storage,media,audiobooks,music-videos,playlists,plugins}
# 进入 daoliyu 目录
cd /volume1/docker/daoliyu
# 将 docker-compose.yml 放入当前目录
# 一键启动
docker-compose up -d 
运行与设置
等待容器启动完成后,在您的浏览器中输入 http://群晖IP:5173,首次访问时,系统会引导您注册管理员账户

登录成功后的主界面

将音乐放入 media 目录

右上角 --> 多媒体库 --> 全量扫描

扫描时间取决于您的音乐库大小,扫描完成之后

播放界面

参考文档
道理鱼音乐 · 多媒体播放与管理 地址:https://dlyu.cn/
【首发】道理鱼音乐管理更新上线0.2.2稳定版本 20260117 - 攻略分享 飞牛私有云论坛 fnOS 地址:https://club.fnnas.com/forum.php?mod=viewthread&tid=38427
Home - Amcfy Music Player - NAS Music Player 地址:https://www.amcfy.com/
@所有人:写文不易,如果你都看到了这里,请点个赞和在看,分享给更多的朋友;为确保你能收到每一篇文章,请主页右上角设置星标。