AI摘要

🧾 详细介绍

道理鱼音乐管理平台 是一款面向 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. 在飞牛主页面找到 Docker 打开后,切换菜单 Compose -> 新增项目

  1. 创建项目页面根据实际情况定义 项目名称、选择 路径,并把上面 docker-compose.yml 文件内容复制填入 来源 文本框内容。按需修改检查无误后点击 确定 按钮进行部署。
  1. 返回 Docker管理页面,在 容器 菜单,就可以看到运行情况。

📖使用

  1. 浏览器访问 http://nas-ip:5173 并登录
  2. 邮箱是上面 .envADMIN_EMAIL 填入的内容。
  3. 密码是上面 .envADMIN_PASSWORD 填入的内容。
  4. 首页
  5. 媒体库扫描


  6. 返回首页播放音乐

  7. 其它个性化设可以进入 系统设置 设置





⚠️ 总结

🎶 道理鱼音乐管理平台作为一款面向 NAS 用户的全栈音乐系统,已经具备了从媒体扫描到播放、收藏、转码、通知等一系列实用功能。通过 Docker 快速部署,几步操作即可拥有属于自己的音乐空间。