NAS部署教程:打造高颜值私人音乐库「道理鱼音乐Daoliyu」

手把手教你用Docker Compose在NAS上部署道理鱼音乐Daoliyu,管理音乐、有声书和MV。详解配置步骤、功能体验与移动端播放,搭建专属音乐流媒体服务器。

6987ecd9a33ca

 daoliyu:

在追求个性化与数据自主权的今天,搭建一个专属的私人音乐库,摆脱商业流媒体的算法束缚,成为了许多音乐爱好者的新选择。本文将为您详细介绍一款新兴的高颜值自托管音乐服务器——“道理鱼音乐”(Daoliyu),并手把手教您如何利用NAS和Docker Compose技术,轻松构建属于自己的全能多媒体娱乐中心。

6987ecd9d0227

安装

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

  backend:
    image: msmkls/daoliyu-music:0.2.2
    build:
      context: .
      dockerfile: Dockerfile.app
    container_name: daoliyu-music
    restart: unless-stopped
    depends_on:
      postgres:
        condition: service_healthy
    environment:
      NODE_ENV: production
      DB_PROVIDER: "pg"
      LOG_LEVEL: "${LOG_LEVEL:-info}"
      DEBUG: "${DEBUG:-true}"   
      # STREAMING_TRANSCODE_ENABLED: "true"
      # VIDEO_HWACCEL: "vaapi"
      # VIDEO_HWACCEL_DEVICE: "/dev/dri/renderD128"
      # LIBVA_DRIVER_NAME: "iHD"
    # devices:
    #   - /dev/dri:/dev/dri
    ports:
      - "5173:4000"
    volumes:
      - ./backend-storage:/app/storage
      - ./media:/data/media
      - ./audiobooks:/data/audiobooks
      - ./music-videos:/data/music-videos
      - ./playlists:/data/playlists
      - ./plugins:/plugins
    networks:
      default:
        aliases:
          - backend
    healthcheck:
      test: ["CMD", "wget", "-qO-", "http://localhost:4000/health"]
      interval: 30s
      timeout: 5s
      retries: 5

sqlite轻量版 (N系列cpu性能低可以尝试该版本)

services:
  backend:
    image: msmkls/daoliyu-music:0.2.2
    build:
      context: .
      dockerfile: Dockerfile.app
      args:
        PRISMA_SCHEMA: "${PRISMA_SCHEMA-prisma/schema.sqlite.prisma}"
    container_name: daoliyu-music-sqlite
    restart: unless-stopped
    depends_on: {}
    environment:
      NODE_ENV: production
      DB_PROVIDER: "sqlite"
      PRISMA_SCHEMA: "${PRISMA_SCHEMA-prisma/schema.sqlite.prisma}"
      LOG_LEVEL: "${LOG_LEVEL:-info}"
      DEBUG: "${DEBUG:-true}"
    ports:
      - "5173:4000"
    volumes:
      - ./backend-storage:/app/storage
      - ./backend-data:/app/backend-data
      - ./media:/data/media
      - ./audiobooks:/data/audiobooks
      - ./music-videos:/data/music-videos
      - ./playlists:/data/playlists
      - ./plugins:/plugins
    networks:
      default:
        aliases:
          - backend
    healthcheck:
      test: ["CMD", "wget", "-qO-", "http://localhost:4000/health"]
      interval: 30s
      timeout: 5s
      retries: 5

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

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

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

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

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

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

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

/data/playlists(路径):歌单

/plugins(路径):插件

:::

使用

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

6987ecd9a4fc8

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

6987ecd9c5373

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

6987ecd9c3855

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

6987ecd9a6f04

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

6987ecd9cca18

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

6987ecd9b0b93

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

6987ecd9a3d43

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

6987ecd9bb4ce

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

6987ecd9a4bc7

右下角可以打开歌词显示

6987ecd9ce66c

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

6987ecd9c1212

根据艺人分类

6987ecd9d4be4

根据专辑分类

6987ecd9ad28b

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

6987ecd9bfff2

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

6987ecd9ce9ec

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

6987ecd9b3ffd

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

6987ecd9c28f4

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

6987ecd9ca232

总结

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

总而言之,道理鱼音乐(Daoliyu)以其出色的视觉设计和同时管理音乐与有声书的实用功能,在开源自托管音乐解决方案中占据了独特的一席之地。它降低了拥有私人音乐服务器的门槛,带来了耳目一新的使用体验。当然,作为一款处于发展中的项目,它在性能优化和交互细节上仍有成长空间。但对于乐于尝试、希望完全掌控自己数字音乐生活的朋友来说,它无疑是一个充满潜力的起点。不妨跟随本教程部署体验,探索打造个人音乐世界的乐趣。

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

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

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

 

觉得内容不错?我要

评论0
暂无评论,快来抢沙发吧~