Mopidy
Extensible music server that plays from many sources
Mopidy is an extensible music server written in Python that plays music from local disk, Spotify, SoundCloud, and other sources. It is controlled through MPD and web clients and is popular for DIY music players.
Key features
- Plays from multiple backends
- MPD protocol compatible
- Rich plugin ecosystem
- Web client support
Pros & cons
Strengths
- Highly extensible
- Great for Raspberry Pi projects
Trade-offs
- No native UI
- Requires plugins for most features
Mopidy replaces
Last reviewed Aug 26, 2026 · 812 words
Mopidy is not a Navidrome alternative, and treating it as one is the mistake behind most abandoned installs. Navidrome is a server: it holds your library and streams it to clients. Mopidy is a player: it sits next to a pair of speakers, pulls music from wherever you tell it, and plays it there. The right mental model is "a networked hi-fi component with a Python brain", and once you hold that model the 8,562 stars, the Raspberry Pi following and the "no native UI" complaint all make sense.
What you actually get from a bare install
A fresh Mopidy does nothing. It is a core that knows how to play audio through GStreamer and expose control over two protocols: MPD on port 6600 and HTTP on port 6680. Everything else, including the ability to find a single song, comes from extensions, and the catalogue's "requires plugins for most features" is not an exaggeration. Plan on installing at least three before you hear anything:
sudo python3 -m pip install Mopidy-Local Mopidy-MPD Mopidy-Iris
Mopidy-Local scans a directory of files, Mopidy-MPD lets any MPD client (ncmpcpp, MALP, M.A.L.P., Cantata) drive it, and Mopidy-Iris is the web interface most people settle on, served at http://host:6680/iris/. That trio is the minimum viable jukebox and it runs comfortably in 256 MB.
The source extensions are the reason to choose it
The point of Mopidy over a plain MPD is that backends are pluggable. Mopidy-Jellyfin plays from a Jellyfin library, Mopidy-Subidy from any Subsonic-API server including Navidrome, and there are extensions for SoundCloud, Tidal, YouTube, internet radio and podcasts. That is how Mopidy pairs with a music server rather than competing with it: Navidrome holds the collection and serves your phone; Mopidy on the living-room Pi plays the same collection through the amplifier.
The Spotify backend deserves a specific warning. It has broken and been repaired more than once as Spotify changed its client APIs, and it requires a Premium account when it works at all. Check the extension's current status before you build a project around it, and do not promise anyone in the household that it will keep working.
One INI file configures everything
Configuration lives in /etc/mopidy/mopidy.conf for the system service or ~/.config/mopidy/mopidy.conf when run as a user. Each extension gets a section:
[http]
hostname = 0.0.0.0
port = 6680
[mpd]
hostname = 0.0.0.0
[local]
media_dir = /srv/music
[audio]
output = alsasink
The hostname = 0.0.0.0 lines are the ones people forget; the defaults bind to localhost and the web UI is unreachable from the phone. After editing, sudo mopidyctl local scan builds the local library, and sudo mopidyctl config prints the merged configuration with secrets masked, which is the first thing to run when a backend refuses to load.
Multi-room is a one-line change with Snapcast
The trick that turns one Pi into a whole-house system is pointing Mopidy's audio output at a named pipe that Snapcast reads:
[audio]
output = audioresample ! audioconvert ! audio/x-raw,rate=48000,channels=2,format=S16LE ! filesink location=/tmp/snapfifo
Snapserver picks up the pipe, and every Snapclient on the network plays in sync. That single configuration line is, in my experience, the most compelling reason to run Mopidy at all: no commercial multi-room system lets you feed it from Jellyfin, a Subsonic server, and a shared folder at once.
Raspberry Pi reality
Mopidy publishes an apt repository at apt.mopidy.com, which is the sane way to install on Raspberry Pi OS; it gives you the mopidy system user and service. A Pi Zero 2 W handles local playback and a web client; a Pi 3 or later is more comfortable once you add the HTTP-heavy backends. Audio quality depends entirely on the output stage: the Pi's headphone jack is poor, so budget about 20 to 40 dollars for an I2S DAC HAT and set output = alsasink device=hw:1,0 accordingly. Pi MusicBox, the old all-in-one image, is unmaintained; build from Raspberry Pi OS instead.
What I'd do
Run Navidrome as the library server, following the own-your-Spotify setup, and put Mopidy on a Pi in each room where there are speakers, each with Mopidy-Subidy pointed at Navidrome and Mopidy-Iris for control. Add Snapcast the moment there is a second room. Skip the Spotify extension entirely and treat the library server as the source of truth for your music. Used that way, Mopidy is the best value networked player you can build, and the "no native UI" is a feature: it is a component, and components should not have screens.
Compare Mopidy
21 head-to-head comparisons.
- Mopidy vs Navidrome
- Mopidy vs Koel
- Mopidy vs Feishin
- Mopidy vs Lidarr
- Mopidy vs Black Candy
- Mopidy vs Finamp
- Mopidy vs Ampache
- Mopidy vs Polaris
- Mopidy vs Funkwhale
- Mopidy vs OwnTone
- Mopidy vs Gonic
- Mopidy vs mStream
- Mopidy vs Tempo
- Mopidy vs Swing Music
- Mopidy vs Airsonic
- Mopidy vs Sonixd
- Mopidy vs Lyrion Music Server
- Mopidy vs Musicn
- Mopidy vs Amperfy
- Mopidy vs LMS
- Mopidy vs Airsonic-Advanced
Similar media servers apps
Jellyfin
Media ServersFree software media system for streaming your library
Replaces Plex, Emby
qBittorrent
Media ServersBittorrent client that aims to be a good alternative to all other
Replaces µTorrent
SRS
Media ServersA simple, high efficiency and real-time video server, supports RTMP,
Navidrome
Media ServersModern music streaming server for your collection
Replaces Spotify
Kodi
Media ServersOpen-source home theater and media center
Replaces Plex
Koel
Media ServersPersonal music streaming server with an elegant interface
Replaces Spotify