Set up Navidrome on a Mac
Turn your Mac into a private music server. Your files stay on your machine. You can listen from any device on your home Wi-Fi.
What is Navidrome? What's this?
Navidrome is a small, free program that reads a folder of music on your computer and serves it to other devices — your phone, your laptop, a music player like Moosic. Think of it like a tiny radio station that only plays your own collection, only on your own network.
Pick a folder for your music
Decide where your music files live. Most people use
~/Music(the built-in Music folder in your home directory). If your music is on an external drive, that works too.What does
~/Musicmean?The squiggle (
~) is a shortcut for your home folder — the one with your name on it in Finder.~/Musicjust means "the Music folder inside my home folder." On most Macs, you can find it in Finder under Go → Home.Install Homebrew (if you don't have it)
Homebrew is a free tool that installs other tools for you. Open the Terminal app (search with Spotlight, ⌘ + space, type "Terminal"), paste this line, press Return:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
May ask for your Mac password. Type it (no characters appear — normal). Takes a few minutes. Skip if Homebrew already installed.
What is Homebrew?
Homebrew is a free package manager for macOS — basically an "app store for command-line tools." You type
brew install somethingand it downloads, installs, and wires up that tool plus everything it depends on. macOS doesn't ship a built-in equivalent, so Homebrew is the standard way developers install tools like Navidrome, ffmpeg, git, and hundreds of others.It lives entirely under
/opt/homebrew(Apple Silicon) or/usr/local(Intel) — won't mess with your system files. Used by millions of developers. Open source, actively maintained, brew.sh.Install Navidrome
In the same Terminal:
brew install navidrome
Pulls in
ffmpeg(audio transcoding) andtaglib(tag reading) automatically. Takes a couple minutes.What's ffmpeg for?
Navidrome streams to phones, laptops, browsers — each wants a different audio format.
ffmpegdoes the conversion on demand. Homebrew installs it as a dependency, so you don't have to do anything.Tell Navidrome where your music is
Create a small settings file. Paste this whole block into Terminal and press Return:
mkdir -p ~/.config/navidrome cat > ~/.config/navidrome/navidrome.toml <<EOF MusicFolder = "$HOME/Music" DataFolder = "$HOME/.local/share/navidrome" Port = 4533 EOF mkdir -p ~/.local/share/navidrome
What's in that file?
- MusicFolder — where your songs live.
- DataFolder — where Navidrome keeps its database (song index, listening history).
- Port — channel number Navidrome listens on. 4533 is default.
If music is elsewhere, edit the first line, e.g.
MusicFolder = "/Volumes/MyDrive/Music"Start Navidrome on every boot
One command — runs Navidrome as a background service, auto-starts on login:
brew services start navidrome
To stop later:
brew services stop navidrome. To check:brew services list.Just want to run it once?
If you'd rather start it manually each time:
navidrome --configfile ~/.config/navidrome/navidrome.toml
Leave Terminal open while it runs. Quitting Terminal stops Navidrome.
Open it in your browser
Open Safari or Chrome and go to:
http://localhost:4533
Create your admin account (any username, password you'll remember). First scan takes a while on big libraries — let it run.
What does
localhostmean?"This same computer." Browser talks to a program on this Mac, on channel 4533. Other devices on your Wi-Fi can reach it too — see next step.
(Optional) Reach it from your phone or laptop
Find your Mac's IP. In Terminal:
ipconfig getifaddr en0
You'll see something like
192.168.1.42. On your phone (same Wi-Fi), openhttp://192.168.1.42:4533. Music, anywhere in the house.