剪藏#NASBox#剪藏

颜值爆表的私人音乐库!一键在 NAS 上快速部署「道理鱼音乐」

2025 年 12 月 30 日1 分钟
分享Twitter / XTelegram微博

如有修改或改动,关注文章底部留言!

教程对你有用,可以 “点赞” 和 “打赏”支持 ~

Notion image

daoliyu:

一套自部署的多媒体管理与播放方案,强调高音质、快速转码和便捷的前后端体验。支持多种音频/视频格式,适配个人与私有部署场景。

Notion image

安装

Docker Compose

JAVASCRIPT
services:
postgres:
    imagepostgres:16-alpine
    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
      retries6
      start_period: 30s
    ports:
      - "5433:5433"
    volumes:
      - ./postgres:/var/lib/postgresql/data

redis:
    imageredis:7-alpine
    restart: unless-stopped
    depends_on:
      postgres:
        condition: service_started
    command: ["redis-server""--appendonly""yes"]
    volumes:
      - ./redis:/data
    healthcheck:
      test: ["CMD""redis-cli""ping"]
      interval: 10s
      timeout: 5s
      retries5

backend:
    image: msmkls/daoliyu-backend:0.1.7
    restart: unless-stopped
    depends_on:
      postgres:
        condition: service_healthy
      redis:
        condition: service_started
    environment:
      NODE_ENV: production
      APP_PORT4000
      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"
      VIDEO_TRANSCODE_CACHE"/app/storage/transcoded/videos"
      VIDEO_THUMBNAIL_CACHE"/app/storage/thumbnails/videos"
      REDIS_URL"redis://redis:6379/0"
      REGISTRATION_OPEN"true"
      LOG_LEVEL"info"
    volumes:
      - ./storage:/app/storage
      - ./media:/data/media
      - ./audiobooks:/data/audiobooks
      - ./music_videos:/data/music-videos
      - 
JAVASCRIPT
./playlists:/data/playlists
      - ./plugins:/plugins
    healthcheck:
      test: ["CMD""wget""-qO-""http://localhost:4000/health"]
      interval: 30s
      timeout: 5s
      retries5

frontend:
    image: msmkls/daoliyu-frontend:0.1.7
    restart: unless-stopped
    container_name: daoliyu-music-frontend
    depends_on:
      backend:
        condition: service_started
    ports:
      - "5173:8080"

参数说明(更多参数建议去看文档)

::: /var/lib/postgresql/data(路径):postgresql 配置数据

/data(路径):redis 配置数据

/app/storage(路径):后端配置数据

/data/media(路径):音乐目录

/data/audiobooks(路径):有声书

/data/music-videos(路径):音乐视频

/data/playlists(路径):歌单

/plugins(路径):插件

:::

使用

浏览器中输入 http://NAS的IP:5173就能看到界面

Notion image

建议修改一下邮箱和密码,避免忘记

Notion image

进入面板,排版配色还挺不错的

Notion image

TIP:在 /data/media 目录放入歌曲

Notion image

正常情况会自动扫描目录的歌曲,显示在面板

Notion image

如果没有刷新出来,也可以手动扫描目录

Notion image

TIP:也可以添加多个音乐目录

Notion image

回到面板,点击音乐就可以播放了

Notion image

点击多首音乐,可以加入播放歌单列表

Notion image

右下角可以打开歌词显示

Notion image

除了常规的播放功能,还支持音频均衡器

Notion image

根据艺人分类

Notion image

根据专辑分类

Notion image

TIP:在 /data/audiobooks 目录放入有声书

Notion image

可以正确读取到文件夹里的元数据(已经刮削过的)

Notion image

有针对有声书做了适配,比如一共多少集和播放总时长

Notion image

不想下载 APP 的,移动网页端访问也是可以的

Notion image

客户端支持 Android 和 iOS ,下载地址:cn.amcfy.com

Notion image

总结

体验使用下来,最大的感受就是界面设计好看,其次是支持音乐、有声书管理播放,提供客户端应用。不过即使与成熟开源音乐应用相比,还是存在不小的差距,比如:切歌有时候会操作卡顿、窗口缩放适配不足、操作逻辑待优化等问题。

综合推荐:⭐⭐⭐(支持音乐、有声书管理,未来可期)

使用体验:⭐⭐⭐(界面挺好看的,提供客户端应用)

部署难易:⭐⭐⭐(一般,关联容器多)︎

原文地址: https://mp.weixin.qq.com/s?__biz=MzI2MjkzMDk3OA==&mid=2247537684&idx=1&sn=f6c3e2888c75b5656e658b522a98c92e&chksm=eb5adf812369316da3dca9c4c4af44a5d226616e83132eb70e095b954274285490dae823bb0a&mpshare=1&scene=1&srcid=1229arlCRGL91Oz3oLJ6UE3A&sharer_shareinfo=fcf3f58910eb598df2f822ee18043e2e&sharer_shareinfo_first=fcf3f58910eb598df2f822ee18043e2e#rd

相关文章