Build from sources

Can’t find a build for your platform? You can try to build it yourself

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.20+ and Node 18. 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 buildall     # 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 buildall     # 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/


Last modified October 25, 2023: Update dev-environment.md (#139) (37e9ced)