进阶技巧

飞牛NAS自建音乐服务器:Navidrome部署

飞牛NAS(fnOS)作为一款专注于数据存储与家庭影音的操作系统,其Docker支持能力一直备受好评。今天,我们来聊聊如何利用它自建一个专属的音乐服务器——Navidrome。如果你厌倦了网易云、QQ音乐的会员墙和社交噪音,想要一个纯净、流畅且完全属于自己的流媒体点播中心,Navidrome几乎是目前最优雅的开源解决方案。

Navidrome 是一个轻量级、响应迅速的音乐服务器,兼容 Subsonic API,这意味着你既可以用网页端直接听歌,也可以在手机上搭配音流、Finamp 等第三方播放器使用。它的核心优势在于资源占用极低(通常几十MB内存),而且对音乐文件的管理非常纯粹——你只需要把歌曲按“艺术家/专辑”的文件夹结构丢给它即可。

下面我们进入正题,在飞牛NAS上通过Docker部署 Navidrome。

1. 准备工作:梳理音乐目录与数据目录

在飞牛NAS的文件管理器中,我们需要规划好两个路径。假设你的音乐文件存放在 /vol1/1000/Music(请根据你的实际卷路径调整,飞牛通常挂载在 /vol1 或 /vol2 下)。同时,我们需要一个专门存放 Navidrome 配置和缓存的文件夹,例如 /vol1/1000/Docker/navidrome

建议先手动创建好 navidrome 这个目录,并在里面新建一个空的 data 子文件夹,用于存放数据库和缓存。

2. 获取镜像并创建容器

飞牛NAS自带 Docker 管理界面,但为了追求效率和准确性,推荐使用 SSH 终端来操作。你可以通过终端工具(如 FinalShell、MobaXterm)登录到 NAS 的 SSH 端口(默认 22,用户名密码同飞牛账号)。

登录后,直接执行以下命令拉取最新镜像:

sudo docker pull deluan/navidrome:latest

如果你的网络拉取 Docker Hub 镜像缓慢,可以考虑配置国内镜像加速器,这里不赘述。拉取完成后,我们通过 docker run 命令一次性完成创建和启动。

sudo docker run -d \
  --name navidrome \
  --restart=unless-stopped \
  -p 4533:4533 \
  -v /vol1/1000/Music:/music:ro \
  -v /vol1/1000/Docker/navidrome/data:/data \
  -e ND_LOGLEVEL=info \
  -e ND_BASEURL="" \
  -e ND_ENABLETRANSCODING=true \
  deluan/navidrome:latest

这里解释一下参数含义。-p 4533:4533 将宿主机的 4533 端口映射到容器内,这是 Navidrome 的默认 Web 端口。-v 挂载了音乐目录(只读,避免误改)和数据目录。-e ND_ENABLETRANSCODING=true 开启转码,这样即使播放器不支持某些无损格式(如 FLAC),服务器也能实时转成 MP3 或 AAC 输出。

如果你希望网页端能直接下载原始文件,可以再添加 -e ND_ENABLEDOWNLOADS=true 环境变量。

执行完命令后,输入 sudo docker ps 查看容器状态,如果 STATUS 为 Up 即表示成功。

3. 初始化配置与媒体库扫描

打开浏览器,访问 http://你的NAS局域网IP:4533。首次访问会进入初始化设置页面。

第一步是创建管理员账号,也就是你自己。输入用户名和密码(注意,这个密码只用于 Navidrome 的 Web 管理,与飞牛系统密码无关)。第二步是设置“音乐文件夹路径”,在容器内部,这个路径永远是 /music,你不需要修改它,因为我们已经通过 -v 参数把宿主机目录映射进去了。

点击保存后,Navidrome 会自动开始扫描 /music 下的所有音频文件。扫描速度取决于你的曲库大小,几十GB的歌曲通常几分钟内完成。扫描期间,你可以在“音乐库”页面看到进度,也可以直接开始浏览已经识别出来的专辑。

4. 个性化配置:元数据与封面

Navidrome 默认会自动从嵌入的 ID3 标签中读取歌曲信息,如果你的音乐文件本身有封面图,它会直接使用。如果某些专辑没有封面,你可以在 Web 界面的“设置” -> “元数据”中,开启“从 Last.fm 获取封面”和“从 MusicBrainz 获取元数据”。

建议将这两项开启,并保存。Navidrome 会在后台异步抓取,补全缺失的专辑信息和封面。对于中文流行乐,Last.fm 的覆盖度可能一般,但 MusicBrainz 对古典乐和欧美资源非常友好。如果你的曲库以中文老歌为主,更可靠的方案是提前用 Mp3tag 等工具整理好标签和封面。

5. 开启 HTTPS 与公网访问(可选)

如果你只想在局域网内使用,这一步可以跳过。但若想在外出时随时听歌,建议在飞牛的反向代理中配置 HTTPS。

飞牛NAS自带 Nginx 反向代理功能,在“控制面板” -> “反向代理”中新建一条规则。将外部端口(例如 8443)指向本机的 127.0.0.1:4533,并选择 SSL 证书(可以用飞牛的 Let‘s Encrypt 或自己的域名证书)。这样你就能通过 https://你的域名:8443 安全地访问 Navidrome 了。

注意:如果需要公网穿透,请确保你的路由器端口转发已配置正确,或者直接使用飞牛的“DDNS”功能绑定域名。

6. 客户端连接:音质与体验

Navidrome 兼容所有 Subsonic API 客户端。在飞牛上,我更推荐使用手机端的“音流”App(支持 iOS 与 Android),它界面现代,支持 CarPlay 和 Android Auto。连接时,服务器地址填 http://NAS局域网IP:4533 或你的公网域名,用户名密码用刚才创建的管理员账号即可。

如果你对音质有极致要求,记得在客户端的设置里,将“流媒体码率”调为“原始”或“无损”,这样服务器不会进行转码,直接推送原始文件给播放器。同时,Navidrome 支持多用户,你可以在 Web 设置里创建家庭成员账号,各自拥有独立的播放历史和收藏列表,互不干扰。

总结

通过上述步骤,你已经在飞牛NAS上成功部署了一个轻快、私有的音乐服务器。Navidrome 的魅力在于它的“无感”——没有广告,没有推荐算法,只有你最熟悉的音乐分类。它配合飞牛强大的存储和磁盘管理能力,让音乐库的扩容和备份变得极其简单。无论你是数百GB的FLAC收藏家,还是只想偶尔听听怀旧老歌,它都能给你带来远超商业软件的流畅体验。赶紧把CD翻出来,压成FLAC丢进NAS,享受这份独属于你的安静吧。

💬 评论区
发表评论

暂无评论,来说两句吧