使用 Navidrome 搭建个人音乐库并配合音流客户端随时随地听音乐

前言

本人是一个音乐爱好者,喜欢收集和听各种类型的音乐。但是目前市面上的音乐平台大多都是很多广告,界面花里胡哨,且会时常有版权限制。在网上寻找解决方案时,我发现了 Navidrome 这个开源的音乐服务器项目。它可以帮助我在本地或服务器上搭建一个个人音乐库,并通过音流(Substreamer)来配置客户端,实现音乐自由。

一、Navidrome 简介

Navidrome 是一个用 Go 语言开发的现代化音乐服务器,支持多平台部署(Windows、macOS、Linux、Docker),界面美观,资源占用极低,支持多用户、自动扫描音乐库、歌词、封面、播放列表等功能。

GitHub 地址:https://github.com/navidrome/navidrome

二、Docker Compose 部署 Navidrome

1. 编写 docker-compose.yml

创建 docker-compose.yml 文件:

1
2
3
4
5
6
7
8
9
10
11
version: "3.8"
services:
navidrome:
image: deluan/navidrome:latest
container_name: navidrome
ports:
- "4533:4533"
volumes:
- /音乐目录:/music
- /配置目录:/data
restart: unless-stopped
  • /音乐目录 替换为你服务器上存放音乐的绝对路径
  • /配置目录 替换为 Navidrome 配置和数据库存放路径

2. 启动服务

docker-compose.yml 所在目录执行:

1
docker compose up -d

3. 首次访问与配置

  • 浏览器访问 http://你的IP:4533
  • 设置管理员账号和密码
  • Navidrome 会自动扫描音乐文件,生成音乐库

三、配合音流(Substreamer)客户端随时随地听音乐

1. 什么是音流(Substreamer)

音流(Substreamer)是一款支持 Subsonic 协议的跨平台音乐客户端,支持 iOS、Android、Web、Windows、macOS 等,界面美观,体验流畅。

Github 地址:https://github.com/gitbobobo/StreamMusic

2. 客户端配置步骤

  1. 在手机或电脑上安装音流客户端
  2. 打开客户端,选择“Navidrome”
  3. 填写 Navidrome 服务器地址(如 http://你的IP:4533
  4. 输入 Navidrome 的用户名和密码
  5. 连接成功后即可浏览、搜索、播放你的全部音乐

3. 其他支持 Subsonic 协议的客户端

  • Ultrasonic(Android)
  • DSub(Android)
  • Subsonic(Web/iOS/Android)
  • Airsonic、Aurial、Symfonium 等

四、使用 music-tag-web 管理音乐标签

music-tag-web 是一个基于 Web 的音乐标签编辑器,可以帮助你管理和编辑音乐文件的元数据(如标题、艺术家、专辑等)。

GitHub 地址:https://github.com/xhongc/music-tag-web?tab=readme-ov-file

1. 安装 music-tag-web

通过 Docker 部署 music-tag-web:

1
2
3
4
5
6
7
8
9
10
11
version: "3.8"
services:
music-tag:
image: xhongc/music_tag_web:latest
container_name: music-tag-web
ports:
- "8002:8002"
volumes:
- /path/to/your/music:/app/media:rw
- /path/to/your/config:/app/data
restart: unless-stopped

2. 启动 music-tag-web

docker-compose.yml 所在目录执行:

1
docker compose up -d

3. 访问 music-tag-web

在浏览器中访问 http://你的IP:8002,默认的用户名和密码都是 admin

结语

以上内容仅供学习使用。