Build from sources
Currently these instructions only work for Unix-based systems (Linux, macOS, BSD, …). If you are getting trouble trying to build Navidrome in a Windows system, please join our Discord server and ask for help, we will be glad to assist you
If you can’t find a pre-built binary for your platform, you should open an issue in the project’s GitHub page.
If you don’t want to wait, you can try to build the binary yourself, with the following steps.
First, you will need to install Go 1.22+ and
Node 20+. The setup is very strict, and the steps below only work with
these versions (enforced in the Makefile). Make sure to add $GOPATH/bin
to your PATH
as described
in the official Go site
You’ll also need to install the TagLib library:
- Debian/Ubuntu:
sudo apt install libtag1-dev
- Arch Linux:
pacman -S taglib
- macOS:
brew install taglib
- FreeBSD:
pkg install taglib
- For other platforms check their installation instructions
After the prerequisites above are installed, clone Navidrome’s repository and build it:
$ git clone https://github.com/navidrome/navidrome
$ cd navidrome
$ make setup # Install build dependencies
$ make build # Build UI and server, generates a single executable
On FreeBSD you have to use gmake
:
$ git clone https://github.com/navidrome/navidrome
$ cd navidrome
$ gmake setup # Install build dependencies
$ gmake build # Build UI and server, generates a single executable
This will generate the navidrome
executable binary in the project’s root folder.
NOTE: Remember to install ffmpeg in your system, a requirement for Navidrome to work properly. You may find the latest static build for your platform here: https://johnvansickle.com/ffmpeg/
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can make it even better.
Sorry to hear that. Please tell us how we can improve.