收起左侧

【野人音乐】v0.0.1

0
回复
33
查看
[ 复制链接 ]

1

主题

0

回帖

0

牛值

江湖小虾

【野人音乐】把 NAS / 硬盘里的本地音乐变成自己的私有音乐服务

大家好,推荐一个我自己在做的自托管音乐库应用:野人音乐(Wildman Music)

它适合家里有 NAS、飞牛设备、家用服务器,或者硬盘里存了很多本地音乐的人。把音乐目录挂载进去之后,野人音乐可以扫描本地歌曲,整理出歌曲、专辑、歌手、封面和歌词,然后在浏览器里直接播放。整个服务可以用 Docker 部署,数据保存在自己的机器上,不需要把音乐上传到第三方平台。

它适合什么人

  • 想把本地音乐库做成一个可长期使用的 Web 播放器。
  • 音乐文件散落在 NAS、硬盘或家用服务器里,想统一管理。
  • 不想依赖第三方音乐平台,希望音乐和数据都留在自己设备上。
  • 喜欢 Docker 私有化部署,希望部署简单、迁移方便。

界面预览

首次进入会先设置管理员账号,后续就用这个账号登录。
login.png

曲库页面支持按音乐、专辑、歌手、收藏音乐、最近播放和歌单浏览,也可以直接搜索歌曲、专辑或歌手。

song.png

播放详情页会展示封面、播放控制和歌词,比较适合桌面端边听边看。

song.png

主要功能

  • 扫描本地音乐目录,自动入库歌曲信息。
  • 支持歌曲、专辑、歌手多维度浏览。
  • 支持搜索歌曲、专辑和歌手。
  • 支持收藏音乐、最近播放、自定义歌单。
  • 支持播放队列、循环播放、随机播放、单曲循环。
  • 支持沉浸式播放详情页和歌词展示。
  • 支持查看运行日志,方便排查扫描和服务状态。
  • 前端、后端和扫描服务打包在同一个 Docker 镜像里,对外只需要一个端口。

飞牛部署

如果你用的是飞牛,可以直接在飞牛自带的 Docker 图形界面里部署。

  1. 打开 Docker,进入“镜像仓库”,在右上角搜索 wildman-music

install-1.png

  1. 在搜索结果中找到 spacecraftlaunchbasewildman/wildman-music,点击右侧下载图标,标签选择 latest

install-2.png

  1. 下载完成后进入“本地镜像”,找到 spacecraftlaunchbasewildman/wildman-music,点击右侧运行按钮。

install-3.png

  1. 在高级设置里配置端口和目录映射:
  • 端口:本地端口 7200,容器端口 7200,协议选择 TCP
  • 存储位置:添加两个目录映射,一个本地配置目录映射到容器内 /config,一个本地音乐目录映射到容器内 /music。配置目录建议读写,音乐目录可以按需要选择只读或读写。
  • 环境变量:建议添加 WILDMUSIC_SCAN_CONCURRENCY=2。默认扫描并发为 2,可配置范围为 14;低配设备可以设置为 1

install-4.png

启动后访问:

http://你的飞牛设备IP:7200

首次进入按页面提示创建管理员账号。进入应用后,在设置里的“音乐库”填写容器内路径 /music,保存并扫描,就可以开始使用了。

Docker Hub 快速部署

如果只是想快速体验,推荐直接用 Docker Hub 镜像运行:

docker run -d \
  --name wildman-music \
  -p 7200:7200 \
  -e WILDMUSIC_SCAN_CONCURRENCY=2 \
  -v /path/to/music:/music:ro \
  -v /path/to/config:/config \
  --restart unless-stopped \
  spacecraftlaunchbasewildman/wildman-music:latest

需要替换两个路径:

  • /path/to/music:宿主机上的音乐目录,例如 NAS 里的音乐文件夹。
  • /path/to/config:应用数据目录,用来保存账号、歌单、收藏、播放记录、设置和数据库。

默认扫描并发为 WILDMUSIC_SCAN_CONCURRENCY=2,可配置范围为 14。低配设备可以设置为 1,使用顺序扫描。

启动后访问:

http://你的设备IP:7200

如果在本机测试,也可以访问:

http://localhost:7200

Docker Compose 部署

也可以用 Compose 部署,适合后续维护和升级:

services:
  wildman-music:
    image: spacecraftlaunchbasewildman/wildman-music:latest
    container_name: wildman-music
    ports:
      - "7200:7200"
    environment:
      PORT: "7200"
      WILDMUSIC_MUSIC_PATH: /music
      WILDMUSIC_DB_PATH: /config/wildman-music.db
      WILDMUSIC_DIRECTORIES_PATH: /config/music-directories.json
      WILDMUSIC_LOOM_SETTINGS_PATH: /config/loom-plugin.json
      WILDMUSIC_PUBLIC_DIR: /app/public
      WILDMUSIC_SCAN_CONCURRENCY: "2"
    volumes:
      - /path/to/music:/music:ro
      - /path/to/config:/config
    restart: unless-stopped

然后启动:

docker compose up -d

如果设备性能较弱,可以把 WILDMUSIC_SCAN_CONCURRENCY 改成 "1"

首次使用步骤

  1. 启动容器后,打开 http://你的设备IP:7200
  2. 第一次进入会显示“设置账号”,创建管理员账号和密码。
  3. 进入应用后,打开右上角设置。
  4. 在“音乐库”里填写服务端可访问路径,例如 /music
  5. 点击“保存并扫描”,等待音乐入库完成。
  6. 回到“音乐”页面,就可以开始搜索、收藏、创建歌单和播放了。

注意:如果你用 Docker 部署,设置页面里填写的是容器内路径,通常是 /music,不是宿主机上的真实路径。宿主机路径是在 Docker 的 -v 或 Compose 的 volumes 里配置的。

数据保存在哪里

野人音乐会把应用数据保存在容器内的 /config,所以部署时建议一定挂载配置目录:

-v /path/to/config:/config

这样升级或重建容器时,账号、歌单、收藏、播放记录和曲库配置都可以继续保留。

音乐目录建议只读挂载:

-v /path/to/music:/music:ro

这样应用可以扫描和播放音乐,但不会修改你的原始音乐文件。

野人有话说

哈喽,大家好,我是野人,当前野人音乐刚起步功能有点弱,bug有点多,页面有点丑...有问题可以留言,看到我会适当修改完善!


收藏
送赞
分享

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则