04.Navidrome
简介
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 | services: |
启动服务:
1 | docker-compose up -d |
Docker CLI 部署
1 | docker run -d \ |
二进制文件部署
- 前往 GitHub Releases 下载对应平台的最新版本
- 系统需安装 ffmpeg
- 按平台相应的说明完成配置后运行
功能详解
智能播放列表
支持创建动态/智能播放列表,可基于规则自动筛选歌曲(类似 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