吾韵 Soundery 使用教程:NAS 部署 Navidrome 音乐服务 + 内网穿透

面向 NAS 小白的完整手把手教程 · 附可复制命令 · Docker 与群晖套件双路线

一、为什么吾韵 App 需要自建音乐服务

吾韵 Soundery 是一款面向车机的音乐播放 App,它的核心能力是连接你自己的 Navidrome 音乐服务器,播放你自己收藏的音乐。

这样做的好处:

简单理解这套体系: NAS(存歌的仓库)→ Navidrome(仓库的管理员,负责整理和对外播放)→ 内网穿透(给仓库开一条只有你能走的专属通道)→ 吾韵 App(车里的播放器)。四样东西串起来,就是一套私人音乐系统。

二、准备工作:你要有什么

需要的东西说明
一台 NAS群晖、威联通、极空间、绿联等品牌均可,只要能跑 Docker 或安装套件
音乐文件MP3 / FLAC / M4A 等常见格式,先整理到一个文件夹里
一台车机(Android)安装吾韵 Soundery App。手机端暂未适配界面,暂不支持(手机可用第三方 Navidrome 播放器替代,见 FAQ)
一个 Tailscale 账号用于内网穿透,免费,用邮箱即可注册(也可用节点小宝,见路径 C)
小白的心理准备:整个过程分三步——装服务、传音乐、打通网络。每一步都有现成命令和图形化操作,跟着做即可,不需要会编程。

三、路线一:Docker 部署 Navidrome(通用)

Docker 是最通用、最稳定的方式,适用于群晖、威联通以及任何支持 Docker 的 NAS。先看一张总览图,了解完整流程:

Docker 部署 Navidrome 六步总览流程
图 1:Docker 部署 Navidrome 的六步总览

整个流程里,只有第④步「创建容器并配置」需要你认真填对。下面这张「照填图」标出了三个必填项,照着填即可:

Navidrome 容器配置三个必填项照填图
图 2:创建容器时,照着填这三个东西(端口映射 + 两个文件夹挂载)

下面是两种部署写法,任选其一。如果你更习惯图形界面,跳过代码直接看后文「路线二」也可以。

方法 A:用 docker run 命令(最快)

在你的 NAS 的终端(或 SSH 连接)里,运行下面这条命令。注意把 /volume1/music 换成你自己的音乐文件夹真实路径。

bash
docker run -d \
  --name navidrome \
  --restart unless-stopped \
  -p 4533:4533 \
  -e ND_SCANSCHEDULER=1h \
  -e ND_LOGLEVEL=info \
  -e ND_BASEURL="" \
  -v /volume1/music:/music:ro \
  -v /volume1/docker/navidrome/data:/data \
  deluan/navidrome:latest

方法 B:用 docker-compose(推荐,方便管理)

新建一个文件 docker-compose.yml,内容如下:

yaml
version: "3"
services:
  navidrome:
    image: deluan/navidrome:latest
    container_name: navidrome
    restart: unless-stopped
    ports:
      - "4533:4533"
    environment:
      ND_SCANSCHEDULER: 1h
      ND_LOGLEVEL: info
    volumes:
      - /volume1/music:/music:ro
      - /volume1/docker/navidrome/data:/data

然后在 docker-compose.yml 所在目录运行:

bash
docker-compose up -d

参数说明(看懂就行,别慌)

参数作用
-p 4533:4533把容器的 4533 端口映射出来,App 连接时用这个端口
/volume1/music:/music把你 NAS 上放音乐的文件夹挂载进容器(左边是你的路径,右边固定是 /music)
/dataNavidrome 的数据库和配置存放位置
ND_SCANSCHEDULER=1h每 1 小时自动扫描一次音乐库,新歌自动加入
注意:/volume1/music 只是示例,群晖的共享文件夹真实路径通常是 /volume1/共享文件夹名,威联通是 /share/文件夹名。务必换成你自己的,否则容器里看不到歌。

四、路线二:群晖套件部署 Navidrome

如果你用的是群晖,并且更习惯图形化操作,可以用套件源的方式(适合不想碰命令行的用户)。

步骤

  1. 打开群晖的「套件中心」→「设置」→「套件来源」→「新增」。
  2. 添加第三方套件源(Community 源,例如 SynoCommunity 提供的 Navidrome 套件)。
  3. 回到「套件中心」,搜索 Navidrome 并安装。
  4. 安装完成后,在「主菜单」打开 Navidrome,首次会要求创建管理员账号。
  5. 在套件设置里,把「音乐文件夹」指向你存放音乐的共享文件夹。
说明:群晖官方套件中心不直接提供 Navidrome,需要第三方套件源。如果觉得麻烦,直接回到「路线一」用 Docker 会更省事,群晖自带的「Container Manager(原 Docker)」也是图形化的。

五、导入你的音乐文件

部署完成后,打开浏览器访问 http://你的NAS内网IP:4533,你会看到 Navidrome 的登录界面。

第一次登录

  1. 首次访问会引导你创建管理员账号(用户名 + 密码)。
  2. 这个账号密码,就是之后吾韵 App 里要填的 Navidrome 账号密码。

放音乐文件

  1. 把你整理好的音乐文件,拷贝到之前挂载的文件夹(例如群晖的 /volume1/music)。
  2. 在 Navidrome 网页右上角,点「设置」→「媒体库」→「扫描」。
  3. 扫描完成后,网页里就能看到你的所有歌曲了。
建议整理方式:按「歌手 / 专辑」分文件夹存放,Navidrome 会自动读取歌曲的标签信息(歌名、歌手、封面),整理得越规范,显示越漂亮。

六、内网穿透:三种方案,殊途同归

先搞清楚:为什么要「穿透」?

打个比方:你的 NAS 就像一个放在自己家里的保险柜,只有「家里这间屋子」(你家的 WiFi/局域网)里的人能打开它。车机开着车在外面,等于站在屋子外面,够不着这个保险柜。

「内网穿透」就是想办法,让你人在外面也能安全地打开家里这个保险柜。

市面上做这件事的方法很多,但核心就三条路,难度和条件各不相同。先看总览图:

内网穿透三种方案总览思维导图
图 3:三条穿透路径,最终都汇到同一个终点——吾韵 App 要填的地址和账号

我该走哪条路?(照着这张图判断)

别被三个方案吓到,其实判断很简单,按顺序往下走:

内网穿透方案决策路径图
图 4:决策流程——先问公网 IP,再看 IPv6,最后兜底 P2P 打洞
一句话总结选择逻辑:能申请到公网 IP 就走「路径 A」;没有公网 IP 但车机支持 IPv6 就走「路径 B」;都不行就走「路径 C」(P2P 打洞,几乎 100% 能用,是最稳的兜底)。三条路最后拿到的地址不一样,但账号密码始终是同一个 Navidrome 账号。

路径 A:申请公网 IP(最优,但要运营商配合)

什么是公网 IP?简单说,就是给你家宽带分配一个"全世界都能直接访问的地址"。有了它,车机在外面直接输入这个地址就能连到家里,最省事、速度也最快。

怎么申请:

  1. 打电话给你家的宽带运营商客服(电信 10000、联通 10010、移动 10086)。
  2. 对客服说:「家里要装监控 / 自建服务,需要把宽带改成公网 IP」。
  3. 客服一般会登记,几小时内重启光猫就生效。电信、联通通常能免费给;移动宽带多数给不了公网 IPv4(这是移动的普遍情况,不是你的问题)。

拿到公网 IP 后要做两件事:

  1. 在路由器上做「端口转发」:把公网的 4533 端口,转发到 NAS 的内网 IP 的 4533 端口。这个在路由器后台「端口转发 / 虚拟服务器」里设置。
  2. 记下公网 IP 地址:在路由器后台或百度搜"IP"能看到你的公网地址,记下来。

之后车机里填的地址就是:http://你的公网IP:4533。

注意两点:① 公网 IP 可能会变(除非找运营商开"静态 IP",一般个人家用是动态的,偶尔会变,变了要重新记);② 直接暴露公网端口有安全风险,建议给 Navidrome 设置强密码。

路径 B:IPv6 + DDNS-GO(不需要公网 IP,但要域名)

这是什么思路?现在几乎所有家庭宽带都已经支持 IPv6 了。IPv6 地址是"海量"的,你家每个设备都能分到一个全球唯一的 IPv6 地址——这天然就是"公网可达"的。问题是:IPv6 地址又长又会变,让人手填根本不可能。

于是有了 DDNS-GO 这个免费小工具:它自动检测你家 NAS 的 IPv6 地址,一旦变了就自动更新到"一个你记住的域名"上。以后你只需要记那个域名,不用管 IP 变不变。

路径 B 要准备什么

DDNS-GO 部署(Docker 方式)

bash
docker run -d \
  --name ddns-go \
  --restart unless-stopped \
  --network host \
  -v /volume1/docker/ddns-go:/root \
  jeessy/ddns-go

部署后浏览器访问 http://NAS内网IP:9876,进入 DDNS-GO 的图形设置界面:

  1. 选你的 DNS 服务商(比如阿里云、腾讯云,取决于你域名在哪买的)。
  2. 填 DNS 服务商给的 AccessKey(密钥)。
  3. 填你要绑定的域名。假设你买的域名是 example.com,这里可以填 music.example.com——给音乐服务起个子域名,方便辨认。
  4. 开启「IPv6」检测,DDNS-GO 就会自动把 NAS 的 IPv6 地址同步到这个域名。

之后车机里填的地址就是:http://music.example.com:4533(把 example.com 换成你自己买的域名)。

注意:路径 B 要求"车机当前用的网络也支持 IPv6"。如果车机连的 WiFi 或流量没 IPv6,就会连不上。所以这条路的通用性不如路径 A 和 C。

路径 C:P2P 打洞(节点小宝 / Tailscale / ZeroTier,兜底必选)

这是最推荐的兜底方案:不依赖公网 IP、不依赖 IPv6,任何网络环境几乎都能用,而且最安全。原理是给 NAS 和车机拉一条"只有你能走的隐形专属通道"。先用一张图看懂这个原理(节点小宝、Tailscale 都是这么工作的):

P2P 打洞白话原理示意图
图 5:P2P 打洞的原理——给车机和家里的 NAS 拉一条专属通道

这一类工具里,首推「节点小宝」——国产、全中文、界面极简,比 Tailscale(英文界面)对小白友好得多。

首选:节点小宝(国产,小白最容易上手)

它是什么?节点小宝是一款国产的"内网穿透 + 异地组网"二合一工具,官网 iepose.com。最大特点:不用懂公网 IP、不用配路由器、不用碰命令行,装好登录就能用,全中文界面,小白秒上手。

  1. 装两端:NAS 的「应用中心 / 套件中心」搜「节点小宝」安装(群晖、绿联、飞牛等都有;搜不到可用 Docker 跑 owjdxb 容器);车机(Android)装节点小宝 App。
  2. 同一账号登录:两端都用手机号验证码或微信扫码登录同一个账号,设备自动绑定、自动组网,各自分到组网 IP(一般是 100.66.x.x)。
  3. (可选)内网穿透拿域名:在 App 里点「内网穿透 → 添加服务」,转发设备选 NAS、内网地址填 192.168.1.100:4533、会给你一个二级域名(形如 xxx.iepose.cn)。约 20 秒生效。

之后车机里填组网 IP(http://100.66.x.x:4533)或穿透域名(http://xxx.iepose.cn:4533)就能连上。

备选:Tailscale / ZeroTier(英文界面,原理相同)

如果更想用开源方案,Tailscale 和 ZeroTier 是同类工具,原理和上面那张图一模一样,效果相同,只是界面是英文的,操作稍繁琐些。下面以 Tailscale 为例说明:

为什么 Tailscale 也是好选择?

第一步:注册 Tailscale 账号(官网英文,照着走)

Tailscale 官网是英文的,这是很多小白卡住的地方。别慌,下面用中文把每一步都标出来了:

Tailscale 注册流程中文引导
图 6:Tailscale 注册四步,跟着中文说明点就行
  1. 打开官网:浏览器地址栏输入 tailscale.com,点右上角 Sign in(意思就是"登录")。
  2. 选登录方式:推荐用 Google 或 Microsoft(微软)账号一键登录。如果没有,注册一个免费的 Gmail 或 Outlook 邮箱即可。
  3. 登录成功:会进入管理后台,页面上有个 Machines(设备)列表,现在是空的,正常。
  4. 记住这个账号:这个邮箱账号是核心!后面 NAS 和车机都要登录同一个账号,它们才能互相看见。
一句话记住 Tailscale 的用法:「同一个账号,所有设备自动变成同一局域网里的设备」。NAS 登录它、车机也登录它,两台设备就通了。

第二步:在 NAS 上装 Tailscale

bash
docker run -d \
  --name tailscale \
  --restart unless-stopped \
  --network host \
  --cap-add NET_ADMIN \
  --cap-add NET_RAW \
  -e TS_AUTHKEY=你的AUTHKEY \
  -e TS_STATE_DIR=/var/lib/tailscale \
  tailscale/tailscale:latest

第三步:拿到一个「100.x.x.x」地址

NAS 装好 Tailscale 并登录账号后,回到 Tailscale 后台网页,在 Machines 列表里能看到 NAS 已加入,并被分配了一个 100.x.x.x 地址。记下这个地址,后面吾韵 App 要填它。

AUTHKEY 是什么?用 Docker 方式装时,需先在 Tailscale 后台点「Settings(设置)→ Keys(密钥)→ Generate auth key(生成密钥)」生成一串代码,填到命令的 TS_AUTHKEY= 后面。这是让 NAS 自动登录账号的"口令",复制粘贴即可。

第四步:在车机上装 Tailscale App

  1. 在车机(Android)上安装 Tailscale App(Google Play 或官网下载 APK)。
  2. 打开后,登录和 NAS 一模一样的账号。
  3. 登录成功,车机也会分到一个 100.x.x.x 地址。

到这一步,车机和 NAS 已经在同一条「隐形通道」里了。不管车机在哪,只要有网络,就能通过那个 100.x.x.x 地址连到家里的 Navidrome。

ZeroTier 作为备选

如果更习惯 ZeroTier(另一个同类工具),原理完全一样:注册 → 创建网络 → 各设备加入同一 Network ID → 用分配的虚拟 IP 访问。两者选一个即可,Tailscale 对小白更友好。

三种方案的最终汇聚点

不管你走哪条路,最终你都会得到一个「能连到家里 Navidrome 的地址」,把它和账号密码一起填进吾韵 App 就行。三种方案对应的地址长这样:

方案吾韵 App 里「服务器地址」填什么
路径 A 公网 IPhttp://你的公网IP:4533
路径 B IPv6+DDNShttp://music.你的域名:4533
路径 C P2P 打洞http://100.x.x.x:4533(或节点小宝给的 http://xxx.iepose.cn:4533)

账号和密码,永远是你在 Navidrome 里创建的那个管理员账号,三种方案都不变。

安全提醒:如果走路径 A(公网 IP),相当于把服务暴露在公网,务必给 Navidrome 设置强密码。路径 B 和 C 相对更安全(B 靠 IPv6 相对隐蔽,C 靠私有组网,别人进不来)。

七、最后一步:在吾韵 App 里连接并收听

  1. 打开车机上的吾韵 Soundery App。
  2. 进入「添加服务器 / 连接服务器」界面。
  3. 填写以下信息:
    填写项填什么
    服务器地址根据你选的穿透方案填(见下表)
    账号Navidrome 管理员账号
    密码Navidrome 管理员密码
    你的情况「服务器地址」填这个
    在家(同一 WiFi)http://NAS内网IP:4533
    路径 A 公网 IPhttp://你的公网IP:4533
    路径 B IPv6+DDNShttp://music.你的域名:4533
    路径 C P2P 打洞http://100.x.x.x:4533(或节点小宝给的 http://xxx.iepose.cn:4533)
  4. 点击连接,成功后就能看到你的音乐库,开始播放了。
小技巧:可以在吾韵 App 里保存多个服务器配置——「家庭(内网 IP)」和「外出(穿透地址)」,根据场景切换即可。无论哪种方案,账号密码都是同一个 Navidrome 账号。

八、常见问题 FAQ

Q1:App 连不上,提示连接失败怎么办?

按顺序排查:① 确认 NAS 上 Navidrome 容器正在运行;② 确认端口 4533 正确;③ 家里场景用内网 IP,外面场景用你选的穿透地址(公网 IP / 域名 / 100.x.x.x);④ 若用路径 C,检查 Tailscale 两台设备是否都登录且在线;若用路径 B,确认车机当前网络有 IPv6。

Q2:扫描后有些歌没显示?

通常是音乐文件格式不支持,或文件标签信息缺失。建议使用 MP3 或 FLAC,并用音乐标签工具(如 MusicBrainz Picard、MP3tag)补全歌名、歌手信息。

Q3:Docker 里看不到音乐文件?

检查挂载路径是否正确,/volume1/music 这个左边路径必须是你 NAS 上真实存在的文件夹路径。

Q4:公网 IP、IPv6、P2P 打洞,到底选哪个?

能申请到公网 IP 就选公网 IP(最快最省事);没有就看你车机有没有 IPv6,有就用 IPv6 + DDNS-GO;都不行就用 P2P 打洞(Tailscale),几乎任何环境都能用,是最稳的兜底。

Q5:Tailscale 免费吗?速度怎么样?

个人使用免费(支持一定数量设备)。速度取决于两端网络,一般打洞成功后可跑满带宽,够听无损音乐。

Q6:能不能用手机在外面也能听?

暂时不支持。吾韵目前只针对车机屏幕做了界面适配;手机上虽然能登录,但界面没有适配、显示会乱,无法正常使用。等我们完成手机端适配后会更新这里。

着急用手机在外面听的话,可以装一个支持 Navidrome 协议的第三方手机播放器,填和车机一样的服务器地址 + 账号密码即可,穿透方案完全相同。