04.Navidrome

清夏晚风 Lv7

简介

Navidrome 是一款开源、免费的自托管音乐服务器,基于 GNU GPL v3 协议分发。它让你能够随时随地通过网络享受自己的音乐收藏,提供现代化的 Web UI 并兼容大量第三方移动端应用。

核心特性

特性 说明
轻量高效 资源占用极低,即使运行在 Raspberry Pi Zero 上也能流畅工作
海量曲库 实测支持约 90 万首歌曲(2/3 FLAC + 1/3 MP3)
格式广泛 支持几乎所有音频格式的流式传输
元数据刮削 读取并利用音乐文件的元数据信息
多库支持 支持多音乐库,可按用户权限分隔访问
多用户 每个用户拥有独立的播放计数、播放列表、收藏等
即时转码 按需转码/降采样,节省移动数据流量
Subsonic API 兼容 Subsonic/Madsonic/Airsonic 客户端生态
跨平台 支持 macOS、Linux、Windows,提供 Docker 镜像
智能播放列表 类似 iTunes 的动态/智能播放列表
多种语言 已翻译成 34 种语言
插件机制 支持社区开发的插件扩展功能
开源活跃 GitHub 持续更新,社区活跃(Reddit / Discord)

部署方式

Docker Compose 部署(推荐)

创建 docker-compose.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
services:
navidrome:
image: deluan/navidrome:latest
user: 1000:1000 # 应为音乐文件夹所有者的 UID:GID
ports:
- "4533:4533"
restart: unless-stopped
environment:
# 可按需在此处配置选项,例如:
# ND_LOGLEVEL: debug
volumes:
- "/path/to/data:/data" # 数据库和缓存文件
- "/path/to/music:/music:ro" # 音乐文件目录(只读)

启动服务:

1
docker-compose up -d

Docker CLI 部署

1
2
3
4
5
6
7
8
9
docker run -d \
--name navidrome \
--restart=unless-stopped \
--user $(id -u):$(id -g) \
-v /path/to/music:/music \
-v /path/to/data:/data \
-p 4533:4533 \
-e ND_LOGLEVEL=info \
deluan/navidrome:latest

二进制文件部署

  1. 前往 GitHub Releases 下载对应平台的最新版本
  2. 系统需安装 ffmpeg
  3. 按平台相应的说明完成配置后运行

托管解决方案:也可使用 PikaPodsDANIAN 的托管服务,无需自建服务器。

功能详解

智能播放列表

支持创建动态/智能播放列表,可基于规则自动筛选歌曲(类似 iTunes),通过智能播放列表编辑器进行管理。

多库支持

可将音乐按不同类别组织为多个独立库,并为不同用户分配不同的访问权限(如:音乐 vs 有声书、家庭 vs 个人)。

Jukebox 模式

在服务器上连接音频设备,通过客户端控制服务器直接播放音乐,适合家庭音响系统。

外部服务集成

服务 功能
Last.fm 艺术家简介、艺术家图片、专辑封面及描述、播放记录提交
ListenBrainz 播放记录提交
Maloja 通过自定义 ListenBrainz URL 提交播放记录
Spotify 艺术家图片
Deezer 艺术家图片

分享功能

可生成专辑、歌曲、播放列表的公开分享链接,方便分享给他人。

歌词显示

支持从音乐文件内嵌标签和外部歌词文件读取歌词。

网络电台

支持添加和收听网络电台。

主题化 Web 界面

基于 Material UI 和 React-Admin 构建,支持主题切换,界面响应式适配各种屏幕尺寸。

支持的客户端

Navidrome 兼容大量 Subsonic/OpenSubsonic 协议的客户端应用:

iOS

客户端 特点
play:Sub 精美界面,支持 CarPlay、AirPlay、离线缓存
Substreamer 开源,支持离线下载、5 星评分、变速播放
Amperfy 轻量级音乐流媒体客户端

Android

客户端 特点
NaviPlayer Material 3 设计,Jetpack Media3 引擎
Tempus 开源,支持 gapless、Android Auto、Chromecast
Symfonium 功能丰富的现代音乐播放器
DSub 经典的 Subsonic 客户端

Desktop

客户端 平台 特点
Nokkvi Linux Rust 编写,PipeWire 音频引擎,GPU 可视化
Mist 跨平台 现代化桌面端 Web 客户端
Tauon Linux 功能丰富的音乐播放器
Sublime Music Linux 专为 Subsonic 设计的桌面客户端
Sonixd 跨平台 基于 Electron 的现代播放器

其他

客户端 平台 特点
Ratune 终端 Rust 编写,支持 Gapless、模糊搜索、MPRIS
tinysub Web 轻量级 Web 播放器,独特的队列设计

API 特性

Navidrome 实现了完整的 Subsonic API,包括以下功能:

  • 基于标签的浏览和搜索
  • 按文件夹模拟浏览
  • 播放列表管理
  • 有声书书签
  • 艺术家/专辑/曲目收藏(星标)
  • 5 星评分
  • 转码与降采样
  • 播放队列保存与恢复(跨设备续听)
  • 播放记录提交(Last.fm / ListenBrainz)
  • 互联网电台
  • Jukebox 模式
  • 分享链接(实验性支持)

配置参考

Navidrome 支持通过环境变量或配置文件进行配置。在 Docker 环境中使用环境变量(前缀 ND_),在二进制部署中使用 navidrome.toml 配置文件。

常用配置项:

环境变量 默认值 说明
ND_LOGLEVEL info 日志级别
ND_SESSIONTIMEOUT 24h 会话超时时间
ND_MUSICFOLDER /music 音乐文件夹路径
ND_DATAFOLDER /data 数据文件夹路径
ND_LASTFM_ENABLED true 是否启用 Last.fm 集成
ND_LISTENBRAINZ_ENABLED true 是否启用 ListenBrainz 集成

官方资源

  • Title: 04.Navidrome
  • Author: 清夏晚风
  • Created at : 2026-06-09 15:23:22
  • Updated at : 2026-07-19 01:57:11
  • Link: https://blog.yuil.cn/2026/06/09/流媒体服务器/音乐服务器/04.navidrome/
  • License: This work is licensed under CC BY-NC-SA 4.0.
Comments