简介
Navidrome 是一开源的音乐服务器,可以用来自建云端音乐播放器,让你在任何地方通过浏览器或者手机来收听自己的音乐,兼容 Subsonic、Aironic 播放器。
功能介绍
- 处理非常大的音乐收藏
- 几乎可播放任何音频格式
- 读取并使用你精心标记的各种元数据
- 多用户,每个用户都有自己的播放次数、播放列表、收藏夹等
- 资源占用率非常低
- 多平台,在 macOS、Linux 和 Windows 上运行。还提供 Docker 镜像
- 适用于所有主要平台的即用型二进制文件,包括 Raspberry Pi
- 自动监控你的库的变化,导入新文件和重新加载新的元数据
- 基于 Material UI 的主题、现代和响应式的 Web 界面
- 与所有 Subsonic/Madsonic/Airsonic 客户端兼容
- 在传输中进行转码,可按用户/播放器设置,支持 Opus 编码
- 支持中文界面
安装
网上很多都是使用Docker搭建的,我不是很喜欢用Docker,所以自行摸索直接安装。其他的安装方法可以自行搜索或者参考官方文档。
更新和安装先决条件
系统推荐Ubuntu或者Debian。 确保系统是最新的并安装ffmpeg。顺便安装一个vim方便后面编辑配置文件。
apt update
apt upgrade
apt install vim ffmpeg

创建目录结构
创建一个目录来存储 Navidrome 可执行文件和一个具有适当权限的工作目录。
sudo install -d -o <user> -g <group> /opt/navidrome
sudo install -d -o <user> -g <group> /var/lib/navidrome
<user>
为指定的运行Navidrome的用户名,<group>
为指定的运行Navidrome的用户组,由于我习惯用root账户,所以就只创建这两个文件夹好了。如果你指定的用户名就是现在正在使用的用户也可以不填。
sudo install -d /opt/navidrome
sudo install -d /var/lib/navidrome
获取 Navidrome
从发布页面下载最新版本,将内容解压到可执行目录,并设置文件的权限。(将下面的 URL 替换为发布页面中的 URL):
wget https://github.com/navidrome/navidrome/releases/download/v0.47.5/navidrome_0.47.5_Linux_x86_64.tar.gz -O Navidrome.tar.gz
tar -xvzf Navidrome.tar.gz -C /opt/navidrome/
给与执行权限:
chown -R <user>:<group> /opt/navidrome
创建配置文件
在/var/lib/navidrome
下创建一个文件名为navidrome.toml
的文件。
进入/var/lib/navidrome:
cd /var/lib/navidrome
新建文件:
vim navidrome.toml
按i
进入插入(也就是编辑)模式,输入以下内容:
MusicFolder = "<library_path>"
这里的<library_path>
替换为你存放音乐的文件夹。如果还需要配置其他内容,也可以参考官方文档来添加。
按Esc
,输入:wq
保存退出。
配置系统服务
在/etc/systemd/system/
下创建一个文件名为navidrome.service
的文件(别问我怎么创建,跟上面的方法一样),填写以下内容:
注意!别照抄,user和group需要修改为运行Navidrome的
[Unit]
Description=Navidrome Music Server and Streamer compatible with Subsonic/Airsonic
After=remote-fs.target network.target
AssertPathExists=/var/lib/navidrome
[Install]
WantedBy=multi-user.target
[Service]
User=<user>
Group=<group>
Type=simple
ExecStart=/opt/navidrome/navidrome --configfile "/var/lib/navidrome/navidrome.toml"
WorkingDirectory=/var/lib/navidrome
TimeoutStopSec=20
KillMode=process
Restart=on-failure
# See https://www.freedesktop.org/software/systemd/man/systemd.exec.html
DevicePolicy=closed
NoNewPrivileges=yes
PrivateTmp=yes
PrivateUsers=yes
ProtectControlGroups=yes
ProtectKernelModules=yes
ProtectKernelTunables=yes
RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6
RestrictNamespaces=yes
RestrictRealtime=yes
SystemCallFilter=~@clock @debug @module @mount @obsolete @reboot @setuid @swap
ReadWritePaths=/var/lib/navidrome
# You can uncomment the following line if you're not using the jukebox This
# will prevent navidrome from accessing any real (physical) devices
#PrivateDevices=yes
# You can change the following line to `strict` instead of `full` if you don't
# want navidrome to be able to write anything on your filesystem outside of
# /var/lib/navidrome.
ProtectSystem=full
# You can uncomment the following line if you don't have any media in /home/*.
# This will prevent navidrome from ever reading/writing anything there.
#ProtectHome=true
# You can customize some Navidrome config options by setting environment variables here. Ex:
#Environment=ND_BASEURL="/navidrome"
启动 Navidrome 服务
重新加载服务守护进程,启动新创建的服务,并验证它是否已正确启动。
sudo systemctl daemon-reload
sudo systemctl start navidrome.service
sudo systemctl status navidrome.service
当然你也可以先开启来测试一下,进入
至此,安装已经完成,如果服务已正确启动,请可以访问http://服务器ip:4533。
如果能打开,创建一个你的账户,整个搭建过程就结束啦!

忘了截图了,从官方文档里拿了这张图
Username填用户名
Password填密码
Confirm Password再输一遍密码
点击CREATE ADMIN就创建成功了
开始使用
注册成功后,如果界面是英文的,我们就先去改一下语言。
点击右上角头像图标,选择Personal
点击English,选择简体中文即可。
Enjoy~
Comments NOTHING