外观
Navidrome:自托管音乐服务
扫描本地音乐文件,提供网页播放器,并兼容 Subsonic 协议——这意味着手机上有大量现成的客户端可以连接它。
适合谁
- 有一批本地音乐文件(无损、老唱片、流媒体上没有的内容)。
- 希望在手机上随时听,而不用把文件同步到本地。
部署
yaml
services:
navidrome:
image: deluan/navidrome:latest
container_name: navidrome
restart: unless-stopped
ports:
- "4533:4533"
environment:
ND_SCANSCHEDULE: "1h"
ND_LOGLEVEL: info
volumes:
- /vol1/docker/navidrome/data:/data
- /vol1/music:/music:roND_SCANSCHEDULE 控制自动扫描间隔。音乐目录挂载为只读,避免应用改动原始文件。
让音乐库整齐一些
播放体验取决于标签(元数据)质量。扫描之前值得做的事:
- 用标签编辑工具统一填写艺术家、专辑、年份、曲目号。
- 专辑封面嵌入文件内,或在专辑目录里放一张
cover.jpg。 - 合辑类专辑注意「专辑艺术家」字段,否则会被拆成很多个单曲专辑。
标签比目录结构更重要——Navidrome 主要按标签组织,而不是按文件夹。
数据与备份
data 目录里是数据库,包含播放记录、收藏和播放列表。音乐文件本身按常规备份策略处理。
已知坑
- 改了标签后需要等待下次扫描,或手动触发。
- 大量无损文件在手机上播放时会占用较多带宽,客户端里可以设置转码码率。
- 中文标签的编码问题偶尔会导致乱码,源头通常在文件本身的标签编码。