极空间NAS部署『道理鱼』,音乐/MV/有声书全栈管理神器

2026-01-05 09:42:28 62点赞 634收藏 28评论

哈喽小伙伴们好,我是Stark-C~

最近NAS圈有一个新项目非常火,这个项目厉害的地方就在于它是一个全栈音乐管理系统,支持媒体扫描、元数据补全、收藏与队列管理、自动转码等功能。它就是@汪仔饭大佬开发的一个叫做『道理鱼音乐管理』的项目。

该项目支持 Docker 部署,可能因为部署的代码有些复杂,已有几位极空间的小伙伴没有部署成功并向我求助。所以,今天的这篇教程咱们就在极空间NAS上来搞定它。

走起!

关于道理鱼音乐

极空间NAS部署『道理鱼』,音乐/MV/有声书全栈管理神器

🔺道理鱼音乐是一套专为NAS打造的本地音乐/MV/有声书管理与播放系统,集自动刮削、元数据补全、无损转码、多用户管理于一体,可以让我们的本地音乐库拥有媲美流媒体的体验。

它的功能亮点有(作者原话):

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

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

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

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

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

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

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

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

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

道理鱼音乐部署

部署前的说明:

极空间NAS部署『道理鱼』,音乐/MV/有声书全栈管理神器

🔺既然道理鱼是主打本地音乐/MV/有声书管理与播放的,所以开始之前咱们先把NAS中的音乐/MV/有声书目录整理在一起,因为在部署的时候需要将目录的路径映射过去,项目才能识别并管理。

极空间NAS部署『道理鱼』,音乐/MV/有声书全栈管理神器

🔺并且音乐目录还分两个。一个是我们收集的这种零散音乐,相当于音乐大合集。

极空间NAS部署『道理鱼』,音乐/MV/有声书全栈管理神器

🔺还有个就是相当于我们收集的音乐歌单,也就是音乐专辑。道理鱼音乐会分别对这两种目录进行管理与播放。

开始部署:

极空间NAS部署『道理鱼』,音乐/MV/有声书全栈管理神器

🔺打开极空间NAS的文件管理器,在Docker目录下新建一个“daoliyu”的文件夹,然后在它下面新建plugins,storage,redis,postgres总共四个子文件夹。

极空间NAS部署『道理鱼』,音乐/MV/有声书全栈管理神器

🔺然后点击极空间NAS的“Docker”应用,点击【Compose】 > 【新增项目】。

极空间NAS部署『道理鱼』,音乐/MV/有声书全栈管理神器

🔺在新增项目页面自定义项目名称,输入以下 Docker Compose 配置信息后点“创建”按钮:

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" # postgres数据库端口,冒号前面请勿本地冲突 volumes: - ./docker-data/postgres:/var/lib/postgresql/data # 冒号前面映射postgres子文件夹本地路径 ​ redis: image: redis:7-alpine container_name: daoliyu-redis restart: unless-stopped command: ["redis-server", "--appendonly", "yes"] volumes: - ./docker-data/redis:/data # 冒号前面映射redis子文件夹本地路径 healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 10s timeout: 5s retries: 5 ​ backend: image: msmkls/daoliyu-backend:0.2.0 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 ADMIN_DISPLAY_NAME: "${ADMIN_DISPLAY_NAME}" ADMIN_EMAIL: "${ADMIN_EMAIL}" ADMIN_PASSWORD: "${ADMIN_PASSWORD}" 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" 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}" LOG_LEVEL: "${LOG_LEVEL:-info}" DEBUG: "${DEBUG:-true}" volumes: - ./backend-storage:/app/storage # 冒号前面映射storage子文件夹本地路径 - ./media:/data/media # 冒号前面映射本地歌曲目录 - ./audiobooks:/data/audiobooks # 冒号前面映射本地有声书目录 - ./music-videos:/data/music-videos # 冒号前面映射本地音乐视频目录(MV) - ./playlists:/data/playlists # 冒号前面映射本地歌单目录(音乐专辑) - ./plugins:/plugins # 冒号前面映射plugins子文件夹本地路径 healthcheck: test: ["CMD", "wget", "-qO-", "http://localhost:4000/health"] interval: 30s timeout: 5s retries: 5 ​ frontend: image: msmkls/daoliyu-frontend:0.2.0 build: context: ./frontend dockerfile: Dockerfile container_name: daoliyu-frontend restart: unless-stopped depends_on: backend: condition: service_healthy ports: - "5173:8080" # 项目Web页面打开端口,冒号前面请勿本地冲突 ​

以上代码确实很多,不过需要修改的地方我都用中文注释标注出来了,其它的直接保持默认即可。如果说你没有音乐专辑,MV,或者有声书,直接把volumes下面对应的容器映射给注释掉即可。

镜像的拉取需要自行解决网络问题,粘贴到自己的NAS这边之前建议使用AI工具优化一下,以防止格式问题造成的部署失败。

顺便说一下,volumes映射的路径需要在当前界面使用“查询路径”查找到真实路径直接复制粘贴就可以了,个人觉得极空间这里对于新手小白已经是相当友好的操作了。

极空间NAS部署『道理鱼』,音乐/MV/有声书全栈管理神器

🔺部署好的项目总共有4个容器运行。项目第一次启动运行数据库需要的时间较久,大概需要三分钟左右,小伙伴们耐心等待即可。

道理鱼音乐体验

极空间NAS部署『道理鱼』,音乐/MV/有声书全栈管理神器

🔺道理鱼的打开方式并没有什么特别,浏览器输入【IP:端口号】,或者直接在容器后面点“远程连接”即可。

极空间NAS部署『道理鱼』,音乐/MV/有声书全栈管理神器

🔺首次使用需要创建一个管理员账号,这里没啥要求,大家随意创建一个即可。

极空间NAS部署『道理鱼』,音乐/MV/有声书全栈管理神器

🔺项目主页看上去还是很专业的,不过它默认并没有添加我们映射的媒体库。点击右上角的用户图像,选择“多媒体库”。

极空间NAS部署『道理鱼』,音乐/MV/有声书全栈管理神器

🔺然后点击歌曲歌单后面的“全量扫描”。

极空间NAS部署『道理鱼』,音乐/MV/有声书全栈管理神器

🔺如果说你部署的时候映射了MV和有声书,同样需要点击“全量扫描”。

极空间NAS部署『道理鱼』,音乐/MV/有声书全栈管理神器

🔺这个时候在打开首页,就可以显示正常的展示效果了。非常牛的是,和咱们搭建影视库一样,所有音乐信息它都给自动刮削好了。

极空间NAS部署『道理鱼』,音乐/MV/有声书全栈管理神器

🔺艺人的展示界面,想听谁的歌直接点进去就都是他的歌。

极空间NAS部署『道理鱼』,音乐/MV/有声书全栈管理神器

🔺专辑展示界面,我映射的所有专辑他都准确无误的展示出来了,还是很强大的。

极空间NAS部署『道理鱼』,音乐/MV/有声书全栈管理神器

🔺然后是歌曲的展示界面,显示的是所有映射过来的歌曲,包括歌单(专辑)中的内容。

极空间NAS部署『道理鱼』,音乐/MV/有声书全栈管理神器

🔺播放也是完全OK,并且还有歌词展示。

极空间NAS部署『道理鱼』,音乐/MV/有声书全栈管理神器

🔺有声书也是完全没有问题,并且展示的列表也很规整,开箱既听,非常给力。

极空间NAS部署『道理鱼』,音乐/MV/有声书全栈管理神器

🔺最后是MV(音乐视频),看起来确实是赏心悦目,韩流的暖意我们已经感受到了!

极空间NAS部署『道理鱼』,音乐/MV/有声书全栈管理神器

🔺播放也是非常可爱,哦,说错了,非常流畅。

极空间NAS部署『道理鱼』,音乐/MV/有声书全栈管理神器

🔺如果碰到刮削有误也可以在媒体库设置里面手动“修正”,非常人性化。

功能还有很多,建议有想法的小伙伴可以自行挖掘。

外网移动端

极空间NAS部署『道理鱼』,音乐/MV/有声书全栈管理神器

🔺道理鱼更绝的是支持外网移动端使用,外网首先肯定是要搞定外网的连接方式。有公网IP的可以将部署的道理鱼音乐使用Lucky做个反向代理(比如说我为大家演示的就是这种),没公网IP的自己想办法搞下内网穿透什么的。

极空间NAS部署『道理鱼』,音乐/MV/有声书全栈管理神器

🔺而移动端直接推荐“箭头音乐”APP,原生支持道理鱼音乐,连接起来也很方便,服务器地址直接填写Lucky的反向代理链接地址,然后输入注册的邮箱和密码就可以直接连接了。

极空间NAS部署『道理鱼』,音乐/MV/有声书全栈管理神器

🔺不得不说,“箭头音乐”APP也是非常的赞,界面好看,排版舒服,功能还全面,甚至都给到了驾驶模式!和道理鱼音乐简直就是完美组合,双璧生辉!

最后

就目前来看,道理鱼音乐确实算是NAS用户生态里当前最值得关注的Super Star。从整理、刮削,到播放,以及专属的移动APP,道理鱼音乐也确实为NAS用户带来了媲美流媒体的体验。并且这个项目作者更新和优化的热情也很高,未来的价值也极具潜力,强烈大家各位NAS小伙伴深入部署体验!

好了,以上就是今天给大家分享的内容,我是爱分享的Stark-C,如果今天的内容对你有帮助请记得收藏,顺便点点关注,咱们下期再见!谢谢大家

展开 收起
28评论

  • 精彩
  • 最新
  • 有没有可以直接dlan到小米音响或电视的程序,不需要通过手机,直接在极空间dlan那种

    校验提示文案

    提交
    极空间自己的音乐应用不就支持DLAN吗

    校验提示文案

    提交
    有个项目叫xiaomusic,在nas上搭建后,可以语音控制小米音箱,把歌曲推送过去播放,没有的歌曲会自动下载

    校验提示文案

    提交
    收起所有回复
  • 这个能不能下载无损音乐?

    校验提示文案

    提交
    这个不是下载歌曲的

    校验提示文案

    提交
    收起所有回复
  • 箭头音乐app是安卓的还是苹果的?

    校验提示文案

    提交
    安卓

    校验提示文案

    提交
    收起所有回复
  • 卡在docker镜像拉取那步了,死活不行,有大佬指导下吗

    校验提示文案

    提交
    搜索“镜像加速"

    校验提示文案

    提交
    收起所有回复
  • 装了这个,挂载了夸克云盘,一夜跑了三百G流量,吓得我赶紧删了。

    校验提示文案

    提交
    这个支持网盘吗?

    校验提示文案

    提交
    飞牛支持夸克云盘,然后在道理鱼的音乐文件夹中创建个云盘音乐文件夹的挂载点就可以了,大概相当于windows系统创建快捷方式指向云盘文件夹路径。

    校验提示文案

    提交
    收起所有回复
  • 请教一下,部署哪个docker可以实现文字小说自动实现语音朗读的,最好能自己定义音色

    校验提示文案

    提交
    你用微软的edge,朗读已经分割好的,小说的TXT文件就成了,能自定义好多种音色可用。

    校验提示文案

    提交
    收起所有回复
  • 有没有可以生成硬连接,改文件名,刮削于一体的DOCKER推荐啊

    校验提示文案

    提交
  • 有声书可以给个链接吗

    校验提示文案

    提交
  • 极空间不是自带有声书吗

    校验提示文案

    提交
  • 界面跟spotify一模一样

    校验提示文案

    提交
    确实🥲还以为spotify有啥更新的呢

    校验提示文案

    提交
    收起所有回复
  • 飞牛任人随便访问文件这种严重的洞补齐了吗?

    校验提示文案

    提交
  • 这个挺伪需求的 [皱眉] 我整个个人喜欢看的 nas 影视库还不错,音乐真的没一点点必要了

    校验提示文案

    提交
    音乐需要外网穿透,其实没有Ipv4公网ip蛮折磨人的

    校验提示文案

    提交
    收起所有回复
  • 感觉这个APP管理本地文件不是很方便

    校验提示文案

    提交
  • 要是能以目录为歌单就好多了

    校验提示文案

    提交
  • 绿联 Nas 可以用吗

    校验提示文案

    提交
  • 我极空间搭建了轻量版,为什么封面歌词都不显示呢

    校验提示文案

    提交
  • 自己改装一下直接起飞

    校验提示文案

    提交
  • 不错

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
634
扫一下,分享更方便,购买更轻松