科学工具
科学工具让世界更美好
让世界更美好

开源音乐播放器 Navidrome 使用指南开源音乐播放器 Navidrome 使用指南

开源音乐播放器Navidrome能作为独立服务器运行,支持通过网页浏览和播放音乐,也能作为兼容Subsonic API的轻量级服务器,连接Subsonic客户端。

• 资源占用极低,在树莓派Zero或老旧硬件上能流畅运行

• 支持处理大规模音乐库,可播放几乎所有音频格式

• 读取音乐文件元数据,实现基于标签的浏览和搜索功能

• 支持多个用户登录,每个用户拥有独立播放统计、播放列表和收藏夹

• 提供现代化的响应式Web界面,基于Material UI和React-Admin构建,支持17种国际化语言

• 具备实时转码功能,可按用户设备设置,支持Opus编码

• 支持Last.fm、ListenBrainz和Maloja音乐数据同步,可生成公开的分享链接

• 兼容Subsonic/Madsonic/Airsonic客户端,经测试的客户端包括:

• Android:Symfonium、DSub、StreamMusic等
• iOS:Subtracks、Amperfy、iSub等
• 其他:Sonos(通过bonob)、Alexa(通过AskSonic)、Kodi插件等
• 支持智能动态播放列表(类似iTunes)、播客书签、星级评分、歌词显示(来自标签或外部文件)等功能

Navidrome安装使用指南

Windows系统安装

1、MSI安装方式

• 下载对应系统架构的最新MSI安装包(推荐AMD64)

• 安装过程中可自定义端口和目录(默认端口4533,配置文件位于 C:\Program Files\Navidrome\navidrome.ini

• 安装完成后服务自动启动,访问 http://127.0.0.1:4533 完成初始用户设置

2、手动安装(服务封装)

Shawl工具(需管理员权限):

shawl add --name Navidrome -- "C:\Services\navidrome\navidrome.exe" -c "C:\Services\navidrome\navidrome.toml"
sc start Navidrome

NSSM工具

nssm install Navidrome "C:\Services\navidrome\navidrome.exe"
nssm set Navidrome AppDirectory "C:\Services\navidrome\"
sc start Navidrome

WinSW工具:创建 navidrome.xml 配置文件后执行:

winsw install navidrome.xml
winsw start navidrome.xml

Docker部署

1、docker-compose.yml配置

services:
  navidrome:
    image: deluan/navidrome:latest
    user: 1000:1000 # 建议设置为音乐目录所有者UID:GID
    ports:
      - "4533:4533"
    restart: unless-stopped
    volumes:
      - "/path/to/data:/data" # 存储数据库和缓存
      - "/path/to/music:/music:ro" # 音乐目录(只读)

执行 docker-compose up -d 启动容器。

2、命令行部署

docker run -d \
  --name navidrome \
  --restart=unless-stopped \
  --user $(id -u):$(id -g) \
  -v /path/to/music:/music \
  -v /path/to/data:/data \
  -p 4533:4533 \
  deluan/navidrome:latest

• 可通过环境变量自定义配置,如 -e ND_LOGLEVEL=debug

• 如需使用配置文件,将 navidrome.toml 放入 /data 目录并设置 -e ND_CONFIGFILE=/data/navidrome.toml

Linux系统安装(以Ubuntu为例)

1、DEB包安装

sudo apt update && sudo apt upgrade
wget https://github.com/navidrome/navidrome/releases/download/vX.X.X/navidrome_X.X.X_linux_amd64.deb
sudo apt install ./navidrome_X.X.X_linux_amd64.deb

• 配置文件位于 /etc/navidrome/navidrome.toml,需设置 MusicFolder="/path/to/music/library"

• 启动服务:

sudo systemctl enable --now navidrome
sudo systemctl status navidrome

2、手动安装(适用于其他发行版)

sudo apt install ffmpeg
sudo mkdir -p /opt/navidrome /var/lib/navidrome
sudo wget https://.../navidrome.tar.gz -O Navidrome.tar.gz
sudo tar -xvzf Navidrome.tar.gz -C /opt/navidrome
sudo chmod +x /opt/navidrome/navidrome

创建systemd服务文件 /etc/systemd/system/navidrome.service,配置用户和路径后启动:

sudo systemctl daemon-reload
sudo systemctl start navidrome.service

macOS安装

1、服务化运行

• 下载二进制文件并解压到 /opt/navidrome

• 创建配置文件 /opt/navidrome/navidrome.toml,设置 DataFolder

• 创建 navidrome.plist 服务文件(内容见官方文档),保存到 ~/Library/LaunchAgents/

• 加载服务:

launchctl load ~/Library/LaunchAgents/navidrome.plist
launchctl start navidrome

2、解决Gatekeeper隔离问题

sudo xattr -d com.apple.quarantine /opt/navidrome/navidrome

FreeBSD安装

1、软件包安装

pkg install navidrome

2、端口编译安装

cd /usr/ports/multimedia/navidrome
make install

3、服务管理

service navidrome onestart # 启动
sysrc navidrome_enable="YES" # 开机自启

• 配置文件位于 /usr/local/etc/navidrome/config.toml,可通过 sysrc 命令修改运行用户、数据目录等参数

使用建议

1、权限设置:为了让用户对音乐目录有读取权限,Docker部署时建议设置正确的UID:GID

2、网络访问:默认监听4533端口,如需远程访问需配置防火墙规则或反向代理

3、元数据管理:推荐使用音乐标签编辑工具整理文件信息,以充分利用Navidrome的分类和搜索功能

4、客户端选择:除自带Web界面外,可根据设备类型选择Symfonium(全平台)、SubSwift(Apple TV)等客户端