无损音乐攒了几百 G,想在手机、电脑、平板上随时听,又不想传到网盘忍受限速,也不想被流媒体平台的曲库和会员制绑架——这正是 Navidrome 解决的问题。它是一个 Go 写的开源音乐流媒体服务器,资源占用极低,兼容 Subsonic API,几乎所有主流音乐客户端都能连。本文用雨云 KVM 云服务器把 Navidrome 完整跑起来,包括曲库整理、HTTPS 和客户端接入。
Navidrome 是什么,和网盘听歌有什么区别
把音乐丢网盘也能听,但体验完全是两码事:网盘不解析音乐标签,没有专辑封面墙、歌手分类、播放列表,更没有转码——手机流量下直接拉一首 100M 的 FLAC 很奢侈。
Navidrome 是真正的流媒体服务:自动扫描曲库、读取 ID3 标签、生成专辑墙,按需把无损转码成 Opus/MP3 适配移动网络,记录播放历史和收藏,还支持多用户,可以给家人单独开账号。它用 Go 编写并内嵌 SQLite,空载内存占用不到 100M,是同类方案(如 Java 系的 Airsonic)里最轻的,非常适合放在一台低配 VPS 上常年运行。
服务器与存储规划
音乐服务器的瓶颈不在 CPU 而在硬盘和带宽。曲库 100G 以内,直接买带大一点数据盘的套餐即可;再大可以考虑对象存储挂载。
我用的是雨云 KVM 云服务器(入口见 雨云官网),1 核 2G + 数据盘的组合足够,国内听歌选宁波/深圳节点延迟低,下单优惠码填 admin01 五折,配置不合适 7 天内可无理由退款。选购思路可参考 雨云 VPS 选购与上手指南。
Docker 部署
mkdir -p /opt/navidrome/{data,music} && cd /opt/navidrome
docker-compose.yml:
services:
navidrome:
image: deluan/navidrome:latest
container_name: navidrome
restart: unless-stopped
ports:
- "127.0.0.1:4533:4533"
environment:
- ND_SCANSCHEDULE=1h
- ND_LOGLEVEL=info
- ND_ENABLETRANSCODINGCONFIG=true
- ND_DEFAULTLANGUAGE=zh-Hans
volumes:
- ./data:/data
- ./music:/music:ro
音乐目录以只读(:ro)方式挂载,服务端任何操作都不会动到原始文件。启动:
docker compose up -d
首次访问 http://服务器IP:4533(先临时放开端口或用 SSH 隧道)会引导创建管理员账号。
上传与整理曲库
音乐文件传到 /opt/navidrome/music 目录,推荐用 rsync 断点续传:
rsync -avP --partial ./音乐目录/ root@服务器IP:/opt/navidrome/music/
Navidrome 完全依赖标签而不是文件名来组织曲库,标签乱的曲库刮出来专辑墙也是乱的。上传前建议先用 MusicBrainz Picard 批量修正 ID3 标签和内嵌封面,这一步花的时间最值。
Nginx 反代与客户端接入
配好域名解析后,用 Nginx 反代 4533 端口并上 Let’s Encrypt 证书(步骤与常规反代一致,无特殊参数要求)。之后:
- 网页端:直接访问域名,界面已相当完整。
- iOS:play:Sub、substreamer、Amperfy 均可,填服务器地址 + 账号密码即连。
- Android:Symfonia、Tempo、substreamer。
- 桌面:Sonixd、Supersonic,或继续用网页。
客户端里把「移动网络转码」设为 128k Opus,流量下听歌一小时只消耗 50M 左右,Wi-Fi 下再走原始无损。
踩坑记录
- 扫描不到歌曲:先检查文件权限,容器内以非 root 用户运行,
chmod -R 755 /opt/navidrome/music可解决绝大多数扫描为空的问题。 - 中文标签乱码:老 MP3 常用 GBK 编码标签,Navidrome 按 UTF-8 读取会乱码,用 Picard 重写标签为 ID3v2.4 即可。
- 专辑封面不显示:优先内嵌封面到音频文件;目录下放 cover.jpg 也可以,但内嵌最稳。
我的做法是配合 Uptime Kuma 监控 盯服务可用性,曲库源文件另用 AList 挂载的存储 做一份冷备,服务器挂了曲库也不丢。
合规提醒
自建音乐服务器仅限存放和播放自己合法购买、拥有版权或已获授权的音乐文件,请勿传播盗版音源或向公众提供未授权的在线播放服务。依据《网络安全法》《著作权法》及相关规定,向不特定公众传播受版权保护的作品需取得授权。建议关闭注册、仅向家庭成员开放账号。
小结
Navidrome 把「自己的音乐库」变成了一个不输商业平台体验的私人流媒体:专辑墙、多端同步、智能转码、多用户,而资源占用低到 1 核 2G 都绰绰有余。雨云 KVM 配数据盘的组合月成本很低,优惠码 admin01 还能再打五折,音乐收藏多年的朋友值得为它建一台专属服务器。






