道理鱼音乐管理

简介 分享一下开发的音乐程序,功能有些多,目前版本稳定,偶尔细节有个bug理解下,后面会修复,如果出现问题请删除重建就行 ,值得现体验下,当然有, 为了营造更好的交流环境,请不要把所谓自己的性格和傲娇、情绪的言语,带到这里,影响大家心情。 道理鱼音乐管理平台 自建 NAS 音乐管理与播放系统,提供媒

简介

分享一下开发的音乐程序,功能有些多,目前版本稳定,偶尔细节有个bug理解下,后面会修复,如果出现问题请删除重建就行

,值得现体验下,当然有

为了营造更好的交流环境,请不要把所谓自己的性格和傲娇、情绪的言语,带到这里,影响大家心情。

道理鱼音乐管理平台

自建 NAS 音乐管理与播放系统,提供媒体扫描、元数据补全、**、收藏与队列管理、自动转码等能力,可通过 Docker 或本地环境快速部署。

项目概述

这是一个全栈音乐管理系统,包含后端API服务器和React前端应用。

更新内容

0.1.7更新20251204

针对共享元数据进行了对接,(服务器性能不高,人多歌曲多的可能会出问题,仅供查考使用,如果有能力的可以考虑支持一波,感谢)

• 修复首页概览卡片显示和操作逻辑

• 修复推荐显示方式以及封面不显示的问题

• 修复手机页面的变形问题,播放器显示不全的问题

• 升级后在后端终端执行

npm run prisma:migrate

重新针对后端和目录映射更改,重新梳理之前,SQLite数据库转PostgreSQL数据库,历史遗留的脏数据,针对后期迭代升级做了一些优化。

依然建议删除后,重新部署0.1.6版本

• 增加首次部署创建管理员页面

• 增加共建元信息服务器

• 增加共建推荐歌单接口

• 增加播放排行榜

• 移除之前元信息板块

0.1.5更新20251108

如出现后端重启,直接删除原docker compose项目和容器后,重新选择docker compose,重新构建

• 修复ui超出问题

0.1.4更新20251020

• 取消艺术家、专辑、歌单、歌曲库的分页

• 增加增量音乐入库

• 修改艺术家、专辑、歌单、歌曲库的UI,

• 修改歌曲库快速加入播放列表

• 添加有声书和音乐视频菜单

• 增加网页端EQ(需要https协议才可以启用,一般在外网开启)

注意:这次基本和全新部署差不多,最好清理旧的数据后再部署

项目结构

• backend/ - Node.js/Express API服务器(TypeScript)

• frontend/ - React前端应用(TypeScript + Vite)

• media/ - 媒体文件存储

• playlists/ - 播放列表数据

• /app/storage - 后端数据

• /data/audiobooks - 有声书

• /data/music-videos - 音乐视频

功能亮点

• 媒体扫描:支持多目录配置,自动解析 ID3 元数据、封面、歌词并写入数据库。

• 智能播放:Web 前端提供队列、收藏、下一首/上一首、音量与进度控制,支持令牌式音频流与 HLS。

• 账号系统:区分管理员与普通用户,支持注册开关、资料修改、密码变更与头像上传。

• 收藏体系:曲目、专辑收藏与歌单管理一应俱全,可直接加入播放器队列。

• 实时通知:内置 WebSocket 网关,后续可扩展扫描与播放的实时反馈。

• 转码缓存:集成 FFmpeg 实时转码,支持自动生成指定码率的缓存文件并在后台统计与清理。

• 有声书:有声书按目录入库支持绝大部分已刮削

• 音乐视频:音乐视频入库点播

• 插件与元数据:插件清单自动识别目录内 manifest,元数据提供方支持启用、优先级配置与第三方源扩展。

演示内容

目前已完成

• 目录入库

• 歌单按照目录名入库

• 标签读取和在线匹配机制(建议先使用 音乐标签 给音乐做匹配,大佬的工具,免费好用)

• 多用户机制

• 公开歌单其他用户可见

• 用户收藏机制

• 一键匹配歌手信息

• 共享元服务器开发中

• 有声书入库(元信息待匹配)

• 音乐视频入库

后续工作安排

PC端(即将完成)

安卓客户,只能最后做适配,毕竟独立开发个人能力有限。

首页

专辑列表

艺人页

fn4.png

歌曲库

系统设置

Snipaste_2025-09-24_08-20-31.png

EQ均衡器(需要开启https,也就是域名映射后才能开启)

默认歌单路径(子文件夹为单位,文件夹名为歌单名)

开发初心是让自己用着舒服,看着顺眼的,功能基本满足。

docker compose安装

暂时停用latest推送

找到飞牛内的 docker - docker compose - 新建项目 - 创建docker-compose.yml(将目录设置好)

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:
      - ./docker-data/postgres:/var/lib/postgresql/data

  redis:
    image: redis:7-alpine
    container_name: daoliyu-redis
    restart: unless-stopped
    command: ["redis-server", "--appendonly", "yes"]
    volumes:
      - ./docker-data/redis:/data
    healthcheck:
      test: ["CMD", "redis-cli", "ping"]
      interval: 10s
      timeout: 5s
      retries: 5

  backend:
    image: msmkls/daoliyu-backend:0.1.7
    build:
      context: ./backend
      dockerfile: Dockerfile
    container_name: daoliyu-backend
    restart: unless-stopped
    depends_on:
      postgres:
        condition: service_healthy
      redis:
        condition: service_started
    environment:
      NODE_ENV: production
      DATABASE_URL: "postgresql://daoliyu:daoliyupassword@postgres:5433/daoliyu?schema=public&connection_limit=25&pool_timeout=10&statement_timeout=60000&idle_in_transaction_session_timeout=60000"
      APP_PORT: 4000
      LIBRARY_ROOT: "/data/media"
      AUDIOBOOK_LIBRARY_ROOT: "/data/audiobooks"
      VIDEO_LIBRARY_ROOT: "/data/music-videos"
      VIDEO_TRANSCODE_CACHE: "/app/storage/transcoded/videos"
      VIDEO_THUMBNAIL_CACHE: "/app/storage/thumbnails/videos"
      PLAYLISTS_IMPORT_ROOT: "/data/playlists"
      REGISTRATION_OPEN: "${REGISTRATION_OPEN:-true}"
      PLUGINS_DIR: "/plugins"
      REDIS_URL: "redis://redis:6379/0"
      LOG_LEVEL: "${LOG_LEVEL:-info}"
      DEBUG: "${DEBUG:-true}"
    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

  frontend:
    image: msmkls/daoliyu-frontend:0.1.7
    build:
      context: ./frontend
      dockerfile: Dockerfile
    container_name: daoliyu-frontend
    restart: unless-stopped
    depends_on:
      backend:
        condition: service_started
    ports:
      - "5173:8080"

应用尝鲜下载

Ps:打包有点仓促,实际还是属于docker compose,下载后 应用商店 - 手动安装 (下载取决于的网速,最好有镜像站加速或特殊网络加持)

之前内置的路径,现在都在 文件管理 - 应用文件 - daoliyu-music (这里取决于安装时选择哪个存储分区,安装时注意下,当然安装后,也可以手动编辑docker compose或后端镜像自行添加路径映射,只要映射到容器的 /data/xxx 多媒体库添加 /data/xxx 即可)懒省事就在默认的目录下找

如有问题及时反馈下,感谢这么久兄弟们的支持,下一版本,准备去掉音乐视频,感觉不够纯粹,所以后面准备拿掉,得承认视频还得是飞牛专业的来,留时间搞其他端,另外,尝试搞一台服务器搭建共用的元信息服务器,这个可能需要大家一起来做贡献。敬请期待下!

『来自123云盘用户的分享』道理鱼音乐应用版 20251126

链接:https://www.123865.com/s/8sh9-0aXsh?pwd=azjo# 提取码:azjo

感谢

最后感谢大家的支持,以及几位打赏的网友,感谢支持!

由于支持多用户登录和便于部署,供nas实用为主,严禁未经本人书面允许,从事商业行为。

问题解答

版本还在优化,难免会遇到这样那样的问题

十分抱歉,现在版本只属于功能相对稳定,UI和数据还在修复完善阶段,只要没放出1.0版本,都属于测试阶段,发布出来,也是让大家众测,有好的建议我会采纳,希望能和共同爱好的兄弟交流,对于某些阴阳怪气的兄弟,有意见请保留,因为你不光把负能量带给我,更是伤害了大家。

开源问题(以下废话多 )

这可能是每位开发人都绕不过的坎,因为免费分享,就会有人问要不要开源的问题,还属于正常交流,可以理解。有些兄弟一副说教的嘴脸,上来就说免费你不开源,怎么说呢,都有各自的生活,都在忙,没有精力考虑那么多,我想说,如果您觉得能用就用,不用就算,有时间扯皮我们各自歇会不好吗。

之后版本

之前服务端和pc端同步进行,后来推倒了,因为没有完善服务端其他都不好搞,目前开发元数据服务器,做个共建端,会加入歌词、封面、专辑封面、专辑简介、专辑发行日期、有声书相关,以及共建推荐歌单,下个版本会适配手机web端。

最后,感谢兄弟们(以及B站的兄弟们)的大力支持和建议提交,后期我会更用心的完善每个功能模块。

建议全部在飞牛论坛回帖反馈

【首发】道理鱼音乐管理更新上线0.1.7稳定版本 20251204 - 攻略分享 飞牛私有云论坛 fnOS

LICENSED UNDER CC BY-NC-SA 4.0
评论