标签搜索

目 录CONTENT

文章目录

在VPS或者NAS上使用Docker部署一款音乐管理软件-道理鱼音乐-配合箭头音乐APP使用

yyzq
2025-10-16 / 6 评论 / 4 点赞 / 766 阅读 / 2,428 字

前言

在现代的数字化生活中,音乐已经成为我们日常生活的一部分,如何高效地管理和播放音乐也成了不少音乐爱好者关注的问题。道理鱼音乐管理平台,作为一款专为 NAS 用户设计的音乐管理与播放系统,提供了全面的功能支持。从媒体扫描、元数据补全到智能播放、实时通知,它不仅能够帮助你整理和管理大量的音乐文件,还能为你提供流畅的播放体验。

如果你正在寻找一款适合在 VPS 或 NAS 上部署的音乐管理软件,且希望利用 Docker 实现快速部署,那么道理鱼无疑是一个值得考虑的选择。无论你是技术爱好者,还是音乐收藏控,这款软件都能为你提供方便、灵活且高效的管理方式。接下来,我们将通过 Docker 来部署道理鱼音乐管理平台,让你轻松拥有一个属于自己的音乐管理中心。

项目简介

1.道理鱼音乐

道理鱼音乐管理平台 是一款面向 NAS 用户的音乐管理与播放系统
image-1760596423660

功能特点

  • 🔍 媒体扫描:支持多目录配置,自动解析 ID3 元数据、封面、歌词等信息,并写入数据库,极大提升管理效率。
  • 🎧 智能播放:Web 前端提供队列、收藏、音量和进度控制功能,支持令牌式音频流和 HLS 播放,确保高质量播放体验。
  • 👥 账号系统:拥有管理员与普通用户权限区分,支持开放注册、资料修改、密码更改和头像上传等功能,满足个性化需求。
  • 💖 收藏体系:曲目、专辑和歌单的收藏功能一应俱全,轻松管理并可直接将喜欢的内容加入播放器队列。
  • 📢 实时通知:内置 WebSocket 网关,能够提供实时扫描和播放反馈,提升用户交互体验。
  • 🔄 转码缓存:集成 FFmpeg 实时转码功能,自动生成指定码率的缓存文件,并具备后台统计与清理功能,确保系统高效运行。
  • 🧩 插件与元数据:自动识别插件清单,支持多元数据源的启用与优先级配置,灵活拓展,提升系统兼容性和功能性。

项目图片

首页
image-1767153436423
专辑
image-1767153464701
歌曲库
image-1767153503234
音乐视频
image-1767153551483
歌曲信息
image-1760596560636
用户管理
image-1760596616512
元数据修正
image-1760596649070

2.箭头音乐

箭头音乐是一款现代化的音乐播放器,兼容 Subsonic、Navidrome、Jellyfin、Emby、Swing Music、道理鱼 等多种音乐服务器。

✨ 为每位音乐爱好者打造的强大功能
🎧 Universal Music Access
按艺术家、专辑、播放列表、收藏夹或文件夹浏览和播放您的音乐收藏。高级搜索功能可帮助您立即在多个服务器上找到任何歌曲。

智能离线缓存功能
可自动存储当前曲目和下一曲,即使网络连接中断也能流畅播放。非常适合旅行或网络受限的情况。

🔊专业音频控制
通过音量、音调和速度调节,微调您的聆听体验。内置均衡器,带来高品质音效,打造完全个性化的音频体验。

🧠同步和播放记忆
Amcfy Music 会记住您上次播放的曲目,并将您的播放进度与您的音乐服务器同步——在任何设备上,都能从上次中断的地方继续播放。

📝歌词及元数据支持
显示嵌入式歌词和从外部 API 获取的歌词。自动享受丰富的元数据、专辑封面和艺人作品。

🎨现代优雅的用户界面
简洁、流畅、响应迅速的界面,旨在提供优质的聆听体验。

🌍国际化支持
支持简体中文、繁体中文、英文、日文和韩文,并提供更多语言的自助翻译服务。

部分截图
image-1767153332920
播放界面自定义
image-1767153351593
播放器增强控制
image-1767153386799
image-1767153400988

箭头音乐APP

箭头音乐安卓APP下载

部署方法

使用Docker安装

本教程使用docker的方式安装部署,简单便捷
164b6ac419e23bc5390dc46601a202bf

准备条件

1)一台服务器

我们使用莱卡云VPS和飞牛云NAS来演示

需要vps的可以看以下信息配置可以参考以下资源占用情况
莱卡云官网

本期docker容器占用资源情况如下仅供参考,总体占用内存不足200M
image-1767158932750

2)本项目使用到的项目

本项目的官方网站
https://dlyu.cn/
目前已对接移动APP
https://cn.amcfy.com/
本镜像的官方地址
https://hub.docker.com/u/msmkls
更多功能或者二次修改可以访问开源项目地址

3)域名(可选)

域名可以根据自己的需求绑定,建议绑定下域名

① VPS部署

一、Docker环境部署

在vps安装docker和docker-compose
Docker官方安装文档(英文)
https://duan.yyzq.eu.org/docker-001
Docker-Compose官方安装文档(英文)
https://duan.yyzq.eu.org/docker-002
Centos安装Docker和Docker-compose(中文)
https://duan.yyzq.eu.org//03
Ubuntu安装Docker和Docker-compose(中文)
https://duan.yyzq.eu.org//04

推荐直接用一键脚本

docker安装脚本

bash <(curl -sSL https://cdn.jsdelivr.net/gh/SuperManito/LinuxMirrors@main/DockerInstallation.sh)

docker-compose安装脚本

curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose

二、创建docker-compose.yml文件

登录服务器使用root账户执行以下步骤
道理鱼有两个版本PostgreSQL / SQLite 本教程演示的是PostgreSQL版本
创建一个目录,并进入此目录

mkdir  daoliyu; cd daoliyu 

然后再新建docker-compose.yml

vim docker-compose.yml
services:
  backend:                              # 后端服务
    image: msmkls/daoliyu-backend:0.1.9  # 后端镜像
    container_name: daoliyu-backend  # 容器名称
    restart: always  # 容器崩溃时自动重启
    depends_on:
      - postgres  # 后端依赖于Postgres数据库服务
      - redis  # 后端依赖于Redis缓存服务
    environment:  # 环境变量
      NODE_ENV: production  # 生产环境
      DATABASE_URL: "postgresql://daoliyu:daoliyupassword@postgres:5432/daoliyu"  # PostgreSQL数据库连接地址
      APP_PORT: 4000  # 后端应用的端口号
      LIBRARY_ROOT: "/data/media"  # 媒体库的根目录
      REDIS_URL: "redis://redis:6379/0"  # Redis连接地址
    volumes:
      - ./backend-storage:/app/storage  # 持久化后端数据
      - ./music:/data/media  # 存放歌曲目录
      - ./audiobooks:/data/audiobooks  # 存放有声书目录
      - ./music-videos:/data/music-videos  # 存放音乐视频目录
      - ./playlists:/data/playlists  # 存放歌单目录
      
  postgres:                         # PostgreSQL 数据库服务
    image: postgres:16-alpine  # 使用PostgreSQL 16版本的Alpine镜像
    container_name: daoliyu-postgres  # 容器名称
    restart: always  # 容器崩溃时自动重启
    environment:  # 环境变量
      POSTGRES_DB: "daoliyu"  # 数据库名称
      POSTGRES_USER: "daoliyu"  # 数据库用户名
      POSTGRES_PASSWORD: "daoliyupassword"  # 数据库密码
    ports:
      - "5433:5432"  # 将宿主机的5433端口映射到容器的5432端口
    volumes:
      - ./docker-data/postgres:/var/lib/postgresql/data  # 将数据库数据存储到宿主机目录
      
  redis:                              # Redis 缓存服务
    image: redis:7-alpine  # 使用Redis 7版本的Alpine镜像
    container_name: daoliyu-redis  # 容器名称
    restart: always  # 容器崩溃时自动重启
    volumes:
      - ./docker-data/redis:/data  # 将Redis数据存储到宿主机目录

  frontend:                              # 前端服务
    image: msmkls/daoliyu-frontend:0.1.9  # 前端镜像
    container_name: daoliyu-frontend  # 容器名称
    restart: always  # 容器崩溃时自动重启
    depends_on:
      - backend  # 前端依赖后端服务
    ports:
      - "5173:8080"  # 将宿主机的5173端口映射到容器的8080端口

注意音乐目录映射的问题

三、执行容器运行命令

docker-compose up -d #运行容器
docker-compose ps  #查看是否启动成功

正常启动如下所示

docker-compose ps
NAME               IMAGE                           COMMAND                  SERVICE    CREATED          STATUS          PORTS
daoliyu-backend    msmkls/daoliyu-backend:0.1.9    "/app/entrypoint.sh"     backend    14 seconds ago   Up 10 seconds   4000/tcp
daoliyu-frontend   msmkls/daoliyu-frontend:0.1.9   "/docker-entrypoint.…"   frontend   14 seconds ago   Up 9 seconds    80/tcp, 0.0.0.0:5173->8080/tcp, [::]:5173->8080/tcp
daoliyu-postgres   postgres:16-alpine              "docker-entrypoint.s…"   postgres   16 seconds ago   Up 12 seconds   0.0.0.0:5433->5432/tcp, [::]:5433->5432/tcp
daoliyu-redis      redis:7-alpine                  "docker-entrypoint.s…"   redis      16 seconds ago   Up 12 seconds   6379/tcp

四、打开web页面使用

成功以后需要打开自己相应的端口5173)防火墙就可以web端访问了

主界面

http://ip:5173

开箱即用
image-1767154981494
第一次需要初始化管理员用户名和密码
image-1767155022204
扫描后出音乐
image-1760597807323
开始扫描
image-1760597835094
音乐出来了
image-1760597849851
image-1760597885147
其他自行探索

②飞牛云NAS部署

新建项目

daoliyu

复制以上vps上的yaml文件
image-1767156997944
正常启动即可-注意./media替换为自己的音乐路径
image-1767156976333

链接APP直接填入相应的信息即可
IMG_1637

绑定域名

建议绑定下域名

视频教程

B站

YouTube

绑定域名可以参考
NginxProxyManager
https://duan.yyzq.eu.org//npm-ch

有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我

欢迎关注我们的微信公众号!
微信公众号

4

评论区