关于 Navidrome
- Navidrome 是一个自托管的开源音频服务器和流媒体播放器。它让你可以通过任何浏览器或移动设备自由地收听你的音频
- 简单来说,其类似私人云盘,需要你自己部署,自己上传你的音频。如果你有服务器的话,你就可以在任何地方任何时刻愉快的收听音频了。
准备工作
- 有英语阅读能力的,可以先看看 官网部署指南
拥有下面的一种或多种
- 公网Linux服务器(最好,但是储存贵呀)
- 局域网Linux服务器
- NAS
- windows安装虚拟机,然后用虚拟机安装飞牛来体验
- 纯windows系统
使用体验来说:
- 公网服务器体验最佳,但是储存和带宽都很昂贵,普通人不建议
- NAS(推荐):储存大,省电,可以24小时不用关机,但是需要花钱购买设备或者自己用现有设备安装NAS系统(目前飞牛NAS系统很热门)。
- windows电脑(新手入门体验首选):不需要额外购买设备,缺点是不能24小时一直开着(一直开着会很费电的哈),适合短期听歌用户,或者边使用windows边听歌用户,不太适合远程用户。
Windows
快速部署(对于Windows)
Navidrome官网下载最新安装包。
- 官网下载地址:https://www.navidrome.org/docs/installation/windows/

- 点击上面的
download,他会跳转到另外一个网页,点击下面的Show all 27 assets, 展开所有安装包。
- 最底下,有一个
navidrome_0.58.0_windows_amd64_installer.msi,点击它就开始下载了(注意386是32位系统才用的,目前大部分电脑应该都是64位了,除非你还在用windows xp/windows 7,才可能是32位,如果你不确定,可以去设置看看你得系统是32位还是64位)。
- 官网下载地址:https://www.navidrome.org/docs/installation/windows/
如果你打不开官网,或者下载很慢,可以用下面我准备好的网盘来下载。
- 百度网盘:链接: https://pan.baidu.com/s/17d8Slz2Ql7VPanDpFavp6Q?pwd=svcx 提取码: svcx
- 夸克网盘:链接:https://pan.quark.cn/s/9babf7b01857?pwd=P8sp 提取码:P8sp
- 123网盘:链接:https://www.123865.com/s/oEqDVv-RCgo?pwd=XwN0# 提取码:XwN0
- 下载Navidrome安装包后,在windows电脑上双击打开安装包,出现下面的界面,直接点击
Next即可(新手不建议修改任何配置哈,直接点击下一步是最佳方案,想要改配置,咱们后面教程再细说哈)。


- 点击
Install开始安装,后面可能会马上有一个弹窗提示是否允许xxx文件安装,点击是即可。

- 点击
Finish完成安装。

- 浏览器打开http://localhost:4533/ 访问Navidrome网页版,提示让你创建一个账号,上面是用户名,下面是密码。输入完用户名和密码后,点击
SIGN IN即可完成注册+登录操作。
- 下面我们来更改一下网页版语言,让其显示中文。进入Navidrome网页版页面后,点击右上角的个人图标,选择
Personal。

- 然后这里出现了
Language,我们点击一下,选择我们需要的“简体中文”。

- 此时,整个网页就变成了中文页面了(临时的,后面还得改配置,不然下次进来还是英语哦)。

- 目前Navidrome网页还没有任何内容,我们需要放一些音频文件上去,我们得看看他的音频文件放在哪个盘里面。打开文件管理器,找到
C:\Program Files\Navidrome这个目录,下面有一个navidrome.ini文件。我们右键这个文件,选择打开方式为notepad--(建议使用notepadd--编辑器编辑,可以获得管理员权限,下载地址: https://gitee.com/cxasm/notepad--/releases/tag/v3.6.2)。我的配置长下面这样(#后面的内容是我的备注哈):
[default]
Port='4533' # 这个是软件占用的端口,一般不要改,默认4533就行
MusicFolder='C:\Music' # 这个是音频的存放位置
DataFolder='C:\ProgramData\Navidrome' # 这个是配置文件存放位置,不要动
FFmpegPath='C:\Program Files\Navidrome\ffmpeg.exe' # 这个是ffmpeg的位置,用来读取音频信息,以及转码用的,不要动(可选)更换音频储存路径。
- 从上面的配置文件来看,我们可以修改的只有
MusicFolder,即音频存放路径,假设我的C盘空间很小了,我不想用C盘,想换成其它大点空间的盘,我们可以对它进行修改,修改后点击保存。注意路径左右两边是英文单引号哦,最好不要动这个单引号。 - 改完配置后,我们需要重启Navidrome服务。使用
Win(窗口图标)+r快捷键快速呼出运行,或者右键左下角菜单键,找到运行这个选项,点击它。 
- 运行框里面输入
services.msc,点击“确定”
- 在弹出的
服务窗口,找到“Navidrome”这个服务,点击重启此服务 
- 重启完后,再次打开服务器网页http://localhost:4533/,看看是否ok,如果不ok,可能是你得配置文件改错啦,这样的话,再细看一下你改的路径是不是对的。如果实在改不对,卸载软件,重新安装。或者把我上面贴的配置文件copy回去,应该也可以解决你的问题。
- 从上面的配置文件来看,我们可以修改的只有
- 我们将一些音频文件,放到
MusicFolder所指向的文件夹路径。然后再打开Navidrome网页版http://localhost:4533/,看看是不是有些东西了。 下面我们可以用第三方客户端来登录Navidrome,对于Windows/ios/安卓用户,可以使用“音流”;对于鸿蒙5.0以上的用户,可以试试目前正在测试的“听澜盒”(可能后面会改名哈)。
- 上面的localhost,只能windows本机访问,其它用户是访问不来的,
- 你得把这个地址,换成你得局域网地址,相当于连接了同一个wifi,那么他就可以访问你得电脑上面的Navidrome服务。
- 如何获取自己的局域网ip呢?方法1如下:
- 单击左下角菜单(win10用户),点击
设置,点击网络,如果你电脑是连接的网线,你就选择以太网,如果是连接的wifi,你就选择Wifi,然后单击已连接的网络。 
- 进入网络详情页后,看看最底下的
属性一栏,里面有一个Ipv4地址,那个就是你得局域网地址 
- 如何快速获取自己的局域网ip呢?方法2如下(新手不推荐):
- 使用
Win(窗口图标)+r快捷键快速呼出运行,或者右键左下角菜单键,找到运行这个选项,点击它。 - 在运行框里面输入
cmd,点击确定。 
- 在cmd黑框框界面,输入
ipconfig,此时会快速刷出你得网络配置信息。 - 大概长下面这样,
IPv4 Address对应的右侧信息192.168开头(家用wifi一般是192.168开头,企业校园网可能是172开头甚至10开头)就是你的局域网地址啦。
Ethernet adapter 以太网:
Connection-specific DNS Suffix . :
Link-local IPv6 Address . . . . . : xxxxxxxxxxxxx
IPv4 Address. . . . . . . . . . . : 192.168.0.155
Subnet Mask . . . . . . . . . . . : xxxxxxxxxxxxx
Default Gateway . . . . . . . . . : xxxxxxxxxxxxx- 测试访问局域网地址。我们可以用浏览器打开
http://[你的局域网ip]:4533,以我为例,我需要打开的是http://192.168.0.155:4533这个地址。如果打开页面正常,且可以正常登录,说明咱获取的局域网地址是正确的哈,后面就可以让其它设备(比如你的手机)连上wifi也来打开试试了。 - 如果其它设备无法访问你的局域网连接地址,可能是因为防火墙没放行4533端口。以win10为例,打开设置-更新和安全-windows安全中心,点击
打开Windows安全中心。

选择防火墙和网络保护-点击高级设置

选择入站规则,点击新建规则,类型选择端口,点击“下一页”。

协议类型选择TCP,选择特定本地端口,填写4533,点击“下一页”

选择允许连接,点击“下一页”

默认勾选全部,继续“下一页”

规则名称随意,这里我写的是navidrome,然后点击“完成”即可。

- 都准备好了,就可以用其它客户端(安卓/ios/windows可以用“音流”,鸿蒙5.0以上可以试试“听澜盒”(还在邀请测试,即将上架,邀请地址:https://www.http5.cn/index.php/archives/88/),“云净听”(只支持鸿蒙6.0)等客户端)来登录这个局域网地址了,新手教程结束!
进阶配置(对于Windows)
- 参考官网文档,里面的配置参考,https://www.navidrome.org/docs/usage/configuration-options/#advanced-configuration
- 我们先试试更改默认语言,根据上面的文档,我们需要在配置
C:\Program Files\Navidrome\navidrome.ini这个文件下,新增一行(建议使用notepadd--编辑器编辑,可以获得管理员权限)。
DefaultLanguage='zh-Hans' # 默认语言:中文简体- 和上面一样,改了配置需要重启一下服务。重启完后,在打开navidrome网页版,看看默认语言是不是变成了中文了。
- (可选)last.fm官网,注册,登录,然后申请一个api-key,申请理由用英文,可以让AI帮你写一个,申请应用随便写一个,访问地址可以随便填(不过最好是填你的ipv6公网地址),这个可以帮你记录你的听音频习惯,方便更好的内容推荐,当然,它也可以帮你拿艺术家头像(不过需要外网能力)。可以百度看看别人的图文攻略。
- (可选)spotify官网,注册,登录,然后申请一个api-key,这个主要是帮你拿艺术家头像用的(需要外网能力)。注意:这个api非必选,理论上我们可以部署LrcApi这个项目来代替。
- 于是有了下面这个高级配置文件
[default]
Port='4533'
MusicFolder='C:\Users\xxxx\Documents\Music'
DataFolder='C:\ProgramData\Navidrome'
FFmpegPath='C:\Program Files\Navidrome\ffmpeg.exe'
# --- 下面是新增的配置 --- #
DefaultLanguage='zh-Hans' # 默认语言:中文简体
Scanner.Schedule='@every 12h' # 每隔12小时扫描一次
LogLevel='info' # trace 为调试用,默认为info
SessionTimeout='24h' # 会话有效期
BaseUrl='' #绑定域名,可以不填
Scanner.PurgeMissing='always' # 自动清除丢失的音频
TranscodingCacheSize='1000MB' # 转码缓存 1GB
EnableSharing=true # 启用服务共享(用于分享功能)
DefaultDownloadableShare=false # 共享可下载(不建议打开)
ImageCacheSize='5GB' # 图像缓存,默认100MB,建议设置大一些。
# 以下都是可选配置
Spotify.ID='xxxx' # Spotify client ID 用于检索艺术家和专辑图片(可选)
Spotify.Secret='xxxx' # Spotify secret 用于检索艺术家和专辑图片
LastFM.Enabled=true # 启用last.fm(记录你的听音频习惯,对推荐有帮助)
LastFM.ApiKey='xxxxxx' # last.fm API KEY
LastFM.Secret='xxxxx' # last.fm API SECRET
LastFM.Language='zh' # last.fm默认语言- 和上面一样,改了配置需要重启一下服务。重启完后,在打开navidrome网页版,点击歌曲,任选一个歌曲,点击更多,再点击分享,看看分享是否成功,成功说明配置应该是没问题了。


Linux服务器/Nas部署
快速部署(对于Linux/NAS)
- 如果你是Linux服务器,自行安装docker(确保普通用户可以操作docker)和docker-compose(可选)
- 菜鸟教程-Docker安装
- 菜鸟教程-Docker Compose安装
- 准备好一些音频,放某一个目录(确保当前用户可读可写)
- ssh登录Linux服务器/NAS,输入
id命令,获取你的用户id和组id
$ id
uid=1000(tlntin) gid=1000(tlntin) 组=1000(tlntin),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),116(lxd),998(docker)- 从上面的uid=1000和gid=1000来看,我的用户id是1000,组id也是1000
- 创建一个docker-compose.yaml文件,下面是一个示例
services:
navidrome:
image: deluan/navidrome:0.58.5
container_name: navidrome
ports:
- "4533:4533" # 映射端口,左边为最终服务器运行的端口,默认4533
restart: always # 开机自启动
environment:
PUID: 1000 # 容器运行用户ID,使用id命令可以获取到(暴力点可以设置为0,代表root用户)
PGID: 1000 # 容器运行用户组ID,使用id命令可以获取到(暴力点可以设置为0,代表root组)
ND_SCANSCHEDULE: 12h # 每隔12小时扫描一次
ND_LOGLEVEL: info # trace 为调试用,默认为info
ND_SESSIONTIMEOUT: 24h # 会话有效期
ND_BASEURL: "" #绑定域名,可以不填
ND_SCANNER_PURGEMISSING: "always" # 自动清除丢失的音频
ND_DEFAULTLANGUAGE: "zh-Hans" # 默认语言:中文简体
ND_TRANSCODINGCACHESIZE: "1000MB" # 转码缓存
ND_ENABLESHARING: true # 启用服务共享(用于分享功能)
ND_DEFAULTDOWNLOADABLESHARE: true # 共享可下载
ND_IMAGECACHESIZE: "5GB" # 图像缓存,默认100MB,建议设置大一些。
volumes:
- "./data:/data" # 左边配置保存目录,你可以改成绝对路径
- "/volume1/Music:/music:ro" # 左边为音频挂载目录,你可以改成你的音频目录- 使用下面两条命令的任意一条命令,启动服务。
docker-compose up -d
# 或者
docker compose up -d- 如果你是NAS,可以创建一个docker项目,然后把上面的docker-compose粘贴进去,应该也可以跑起来。
- 部署完成后,输入你的服务ip:4533来访问,例如
http://192.168.1.113:4533,然后打开后,首次会让你创建账号密码,记住它。这样部署就完成了,你可以找其它客户端来登录了。
高级部署(对于Linux/NAS)
- 如果你想要更好的体验,更好懂你的推荐,更多封面,则可以继续看下去。
获取第三方apikey
- last.fm官网,注册,登录,然后申请一个api-key,申请理由用英文,可以让AI帮你写一个,申请应用随便写一个,访问地址可以随便填(不过最好是填你的ipv6公网地址),这个可以帮你记录你的听音频习惯,方便更好的内容推荐,当然,它也可以帮你拿艺术家头像(不过需要外网能力)。可以百度看看别人的图文攻略。
- spotify官网,注册,登录,然后申请一个api-key,这个主要是帮你拿艺术家头像用的(需要外网能力)。注意:这个api非必选,理论上我们可以部署LrcApi这个项目来代替。
高级版docker-compose参考
- 弄好上面的api-key后,可以参考下面的docker-compose.yaml文件进行修改
- SSL证书可以不配,不配可以用多个域名做反向代理实现https
services:
navidrome:
image: deluan/navidrome:0.58.5
container_name: navidrome
ports:
- "4533:4533" # 映射端口,左边为最终服务器运行的端口,默认4533
restart: always # 开机自启动
environment:
PUID: 1000 # 容器运行用户ID,使用id命令可以获取到(暴力点可以设置为0,代表root用户)
PGID: 1000 # 容器运行用户组ID,使用id命令可以获取到(暴力点可以设置为0,代表root组)
# Optional: put your config options customization here. Examples:
ND_SCANSCHEDULE: 12h # 每隔12小时扫描一次
ND_LOGLEVEL: info # trace 为调试用,默认为info
# ND_LOGFILE: "/data/log.txt" # log日志存放位置,可选
ND_SESSIONTIMEOUT: 24h
ND_BASEURL: "" # 绑定域名,可以不填
ND_SPOTIFY_ID: "xxxx" # Spotify client ID 用于检索艺术家和专辑图片(可选)
ND_SPOTIFY_SECRET: "xxxx" # Spotify secret 用于检索艺术家和专辑图片
ND_SCANNER_PURGEMISSING: "always" # 自动清除丢失的音频
ND_DEFAULTLANGUAGE: "zh-Hans" # 默认语言:中文简体
ND_LASTFM_ENABLED: true # 启用last.fm(记录你的听音频习惯,对推荐有帮助)
ND_LASTFM_APIKEY: "xxxxxx" # last.fm API KEY
ND_LASTFM_SECRET: "xxxxx" # last.fm API SECRET
ND_LASTFM_LANGUAGE: "zh" # 启用last.fm 语言
ND_TRANSCODINGCACHESIZE: "1000MB" # 转码缓存
ND_ENABLESHARING: true # 启用服务共享(用于分享功能)
ND_DEFAULTDOWNLOADABLESHARE: true # 共享可下载
ND_IMAGECACHESIZE: "5GB" # 图像缓存,默认100MB,建议设置大一些。
# ND_TLSCERT: "/ssl/fullchain.cer" # TLS证书(可选)
# ND_TLSKEY: "/ssl/xxx.key" # TLS密钥(可选)
# ND_REVERSEPROXYWHITELIST: "::/0" # 允许任意ipv6地址反向代理
volumes:
- "./data:/data" # 配置保存目录,
- "/volume1/Music:/music:ro" # 左边为音频挂载目录
- /volume2/docker/ssl/:/ssl # ssl证书目录,可选- 使用下面两条命令的任意一条命令,启动服务。
docker-compose up -d
# 或者
docker compose up -d











