logo 🤗

技术视野

聚焦科技前沿,分享技术解析,洞见未来趋势。在这里,与您一起探索人工智能的无限可能,共赴技术盛宴。

关于 Navidrome

  • Navidrome 是一个自托管的开源音频服务器和流媒体播放器。它让你可以通过任何浏览器或移动设备自由地收听你的音频
  • 简单来说,其类似私人云盘,需要你自己部署,自己上传你的音频。如果你有服务器的话,你就可以在任何地方任何时刻愉快的收听音频了。

准备工作

  1. 有英语阅读能力的,可以先看看 官网部署指南
  2. 拥有下面的一种或多种

    • 公网Linux服务器(最好,但是储存贵呀)
    • 局域网Linux服务器
    • NAS
    • windows安装虚拟机,然后用虚拟机安装飞牛来体验
    • 纯windows系统
  3. 使用体验来说:

    • 公网服务器体验最佳,但是储存和带宽都很昂贵,普通人不建议
    • NAS(推荐):储存大,省电,可以24小时不用关机,但是需要花钱购买设备或者自己用现有设备安装NAS系统(目前飞牛NAS系统很热门)。
    • windows电脑(新手入门体验首选):不需要额外购买设备,缺点是不能24小时一直开着(一直开着会很费电的哈),适合短期听歌用户,或者边使用windows边听歌用户,不太适合远程用户。

Windows

快速部署(对于Windows)

  1. 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位)。
  2. 如果你打不开官网,或者下载很慢,可以用下面我准备好的网盘来下载。

  3. 下载Navidrome安装包后,在windows电脑上双击打开安装包,出现下面的界面,直接点击Next即可(新手不建议修改任何配置哈,直接点击下一步是最佳方案,想要改配置,咱们后面教程再细说哈)。

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

  1. 点击Finish完成安装。

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

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

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

  1. 目前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的位置,用来读取音频信息,以及转码用的,不要动
  1. (可选)更换音频储存路径。

    • 从上面的配置文件来看,我们可以修改的只有MusicFolder,即音频存放路径,假设我的C盘空间很小了,我不想用C盘,想换成其它大点空间的盘,我们可以对它进行修改,修改后点击保存。注意路径左右两边是英文单引号哦,最好不要动这个单引号。
    • 改完配置后,我们需要重启Navidrome服务。使用Win(窗口图标)+ r快捷键快速呼出运行,或者右键左下角菜单键,找到运行这个选项,点击它。
    • 运行框里面输入services.msc,点击“确定”
    • 在弹出的服务窗口,找到“Navidrome”这个服务,点击重启此服务
    • 重启完后,再次打开服务器网页http://localhost:4533/,看看是否ok,如果不ok,可能是你得配置文件改错啦,这样的话,再细看一下你改的路径是不是对的。如果实在改不对,卸载软件,重新安装。或者把我上面贴的配置文件copy回去,应该也可以解决你的问题。
  2. 我们将一些音频文件,放到MusicFolder所指向的文件夹路径。然后再打开Navidrome网页版http://localhost:4533/,看看是不是有些东西了。
  3. 下面我们可以用第三方客户端来登录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
  1. 测试访问局域网地址。我们可以用浏览器打开http://[你的局域网ip]:4533,以我为例,我需要打开的是http://192.168.0.155:4533这个地址。如果打开页面正常,且可以正常登录,说明咱获取的局域网地址是正确的哈,后面就可以让其它设备(比如你的手机)连上wifi也来打开试试了。
  2. 如果其它设备无法访问你的局域网连接地址,可能是因为防火墙没放行4533端口。以win10为例,打开设置-更新和安全-windows安全中心,点击打开Windows安全中心

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

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

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

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

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

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

  1. 都准备好了,就可以用其它客户端(安卓/ios/windows可以用“音流”,鸿蒙5.0以上可以试试“听澜盒”(还在邀请测试,即将上架,邀请地址:https://www.http5.cn/index.php/archives/88/),“云净听”(只支持鸿蒙6.0)等客户端)来登录这个局域网地址了,新手教程结束!

进阶配置(对于Windows)

  1. 参考官网文档,里面的配置参考,https://www.navidrome.org/docs/usage/configuration-options/#advanced-configuration
  2. 我们先试试更改默认语言,根据上面的文档,我们需要在配置C:\Program Files\Navidrome\navidrome.ini这个文件下,新增一行(建议使用notepadd--编辑器编辑,可以获得管理员权限)。
DefaultLanguage='zh-Hans'  # 默认语言:中文简体
  1. 和上面一样,改了配置需要重启一下服务。重启完后,在打开navidrome网页版,看看默认语言是不是变成了中文了。
  2. (可选)last.fm官网,注册,登录,然后申请一个api-key,申请理由用英文,可以让AI帮你写一个,申请应用随便写一个,访问地址可以随便填(不过最好是填你的ipv6公网地址),这个可以帮你记录你的听音频习惯,方便更好的内容推荐,当然,它也可以帮你拿艺术家头像(不过需要外网能力)。可以百度看看别人的图文攻略。
  3. (可选)spotify官网,注册,登录,然后申请一个api-key,这个主要是帮你拿艺术家头像用的(需要外网能力)。注意:这个api非必选,理论上我们可以部署LrcApi这个项目来代替。
  4. 于是有了下面这个高级配置文件
[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默认语言
  1. 和上面一样,改了配置需要重启一下服务。重启完后,在打开navidrome网页版,点击歌曲,任选一个歌曲,点击更多,再点击分享,看看分享是否成功,成功说明配置应该是没问题了。

Linux服务器/Nas部署

快速部署(对于Linux/NAS)

  1. 如果你是Linux服务器,自行安装docker(确保普通用户可以操作docker)和docker-compose(可选)
  2. 菜鸟教程-Docker安装
  3. 菜鸟教程-Docker Compose安装
  4. 准备好一些音频,放某一个目录(确保当前用户可读可写)
  5. 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)
  1. 从上面的uid=1000和gid=1000来看,我的用户id是1000,组id也是1000
  2. 创建一个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"  # 左边为音频挂载目录,你可以改成你的音频目录
  1. 使用下面两条命令的任意一条命令,启动服务。
docker-compose up -d
# 或者
docker compose up -d
  1. 如果你是NAS,可以创建一个docker项目,然后把上面的docker-compose粘贴进去,应该也可以跑起来。
  2. 部署完成后,输入你的服务ip:4533来访问,例如http://192.168.1.113:4533,然后打开后,首次会让你创建账号密码,记住它。这样部署就完成了,你可以找其它客户端来登录了。

高级部署(对于Linux/NAS)

  • 如果你想要更好的体验,更好懂你的推荐,更多封面,则可以继续看下去。

获取第三方apikey

  1. last.fm官网,注册,登录,然后申请一个api-key,申请理由用英文,可以让AI帮你写一个,申请应用随便写一个,访问地址可以随便填(不过最好是填你的ipv6公网地址),这个可以帮你记录你的听音频习惯,方便更好的内容推荐,当然,它也可以帮你拿艺术家头像(不过需要外网能力)。可以百度看看别人的图文攻略。
  2. 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

版权属于:tlntin
作品采用:本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
更新于: 2025年11月13日 16:27


48 文章数
7 分类数
49 页面数
已在风雨中度过 2年212天2小时25分
目录
来自 《Navidrome部署指南》
暗黑模式
暗黑模式
返回顶部
暗黑模式
暗黑模式
返回顶部