你有没有遇到过这种情况:精心整理了好几年的音乐库,存了上百GB的无损文件,结果只能在电脑上用酷狗听,一到手/机上就抓瞎?各大流媒体平台要么曲库不全,要么把你喜欢的版本下架,而自己珍藏的那些绝版现场和冷门音乐,只能躺在硬盘里吃灰。
今天介绍的 Navidrome,就是来解决这个痛点的——它把自己打造成了一个属于你自己的私人音乐库。你只需要找一个地方把它跑起来,就能在任何设备的浏览器上,像使用现代流媒体App一样,随时随地享受你的全部私人收藏。
它不只是个“音乐文件网盘”
如果说把音乐文件扔进云盘算 1.0 时代,用 Plex/Jellyfin 顺带听歌算 2.0,那Navidrome就是直奔“音乐专精”的 3.0 选手。它太懂一个音乐爱好者的强迫症了:
- 什么都能播,而且很聪明:FLAC、APE、ALAC、AAC……你收藏里那些稀奇古怪的格式,它都能流式传输。更棒的是,它能在服务器端实时转码,比如把巨大的无损文件转成 Opus 格式再串流到你的手机,帮你省流量。
- 最懂你的“强迫症”:它能完美读取你花了大把时间编辑的元数据(ID3 标签),并聪明地处理合辑(Various Artists)和多碟套装(Box Sets),不会让“群星”变成一堆重名歌手。你的播放次数、收藏、播放列表也都是多用户独立的,全家用也不会乱。
- 轻得像没有存在感:这可能是最让人惊喜的一点。它由 Go 语言写成,资源占用极低,跑在树莓派上都绰绰有余。而且它不会像某些重型媒体服务器那样,一扫描就让你电脑风扇狂转。
- 换肤如换衣:它的 Web 界面基于 Material UI,现代且响应式。更重要的是它兼容 Subsonic API,这意味着你可以用海量的第三方客户端连接它,在手机上也有极好的原生体验。
5分钟,跑一个自己的“音乐网站”
说到上手,Navidrome 对新手异常友好,最推荐的方式就是 Docker,简单到令人发指:
准备一个目录,比如 /home/pi/music,把你所有的音乐文件扔进去。
创建 docker-compose.yml 文件,粘贴以下内容并保存:
version: '3'
services:
navidrome:
image: deluan/navidrome:latest
ports:
- "4533:4533"
environment:
ND_SCANSCHEDULE: 1h
ND_LOGLEVEL: info
volumes:
- "/home/pi/music:/music:ro"
- "/home/pi/navidrome-data:/data"
在该目录下执行一句命令:docker-compose up -d
搞定。打开浏览器访问 http://你的设备IP:4533,你就能看到一个漂亮的登录界面了。首次使用,用 admin/admin 登录,进入界面后,Navidrome 就会开始在后台扫描你的音乐库,过一会儿,所有专辑和歌手就会像变魔术一样出现了。
你甚至可以立刻用手机浏览器打开同样的地址,戴上耳机测试一下效果,你会惊叹“原来就这么简单”。
让音乐自由,从自建开始
Navidrome 项目的愿景很简单:让你对自己珍爱的音乐有绝对的掌控权。它不卖订阅,不推荐广告,不分析你的喜好然后把你圈住。它只是一个高效的工具,帮你把音乐库变成了一个随时随地可以访问的私人服务。
如果你已经厌烦了流媒体平台的限制,或是单纯想为自己的数字资产找一个优雅的“家”,那 Navidrome 绝对值得一试。它的文档详尽,社区活跃,从树莓派到云服务器都能完美运行。
去GitHub仓库( https://github.com/navidrome/navidrome )看看吧,点个 Star 收藏起来,或者干脆今晚就动手部署一个。当你明天上班通勤时,用手机听着自己服务器里那些从未被平台压缩过的原汁原味的歌时,你可能会忍不住感叹:“这,才是听歌的正确打开方式。”