musikcube
Terminal-based music player with a built-in streaming server
musikcube is a cross-platform terminal-based audio engine and music player that includes a built-in server mode. The musikcube server can stream a music library to remote musikdroid Android clients over the network.
Key features
- Terminal music player
- Built-in streaming server
- Android remote client
- Cross-platform
Pros & cons
Strengths
- Very lightweight
- Server plus player in one
Trade-offs
- Terminal interface
- Niche audience
musikcube replaces
Last reviewed Sep 13, 2026 · 765 words
musikcube is not a Navidrome alternative, and reading it as one leads to disappointment. It is a C++ terminal music player with a server built in, and the server speaks only to musikcube's own clients: the terminal app itself, the musikdroid Android app, and anyone willing to write against its WebSocket API. There is no web UI, no Subsonic compatibility, no iOS client. What you get instead is a player that runs on a Raspberry Pi in about 64 MB, indexes a large library quickly, streams and transcodes to your phone over the LAN or a VPN, and never once asks you to open a browser. For a specific kind of person, that is exactly right.
Who actually runs this
Three people, in my experience. The terminal-dweller who keeps music playing in a tmux pane on the same machine they work on and wants keyboard-only control. The Pi-on-the-hi-fi owner who runs musikcubed headless with the audio out to a DAC and drives it from the Android app as a remote. And the person with a big FLAC collection on a NAS who wants to stream to their phone with no web stack, no database server, and one binary. All three overlap heavily with people who already like MPD, and the fair comparison is with MPD plus a client, not with a web music server.
Running it as a daemon is one binary and two ports
Packages exist for Debian and Ubuntu (.deb on the releases page), Arch, Homebrew on macOS, and Windows; there is also a Dockerfile in the repo. On a server, musikcubed --start runs the headless daemon; the same codebase with a terminal runs the ncurses interface, where the settings screen sets the library directories and turns on the server plugin. Two ports follow: 7905 for the WebSocket metadata and remote-control API and 7906 for HTTP audio streaming. Set a password in the server settings before exposing either, and put both behind Tailscale or WireGuard rather than a public port, because the API has one shared password and no accounts.
Library indexing walks the directories you name and stores metadata in a local SQLite file. Rescans are incremental and quick enough on a Pi-class board that you stop thinking about them. The player handles FLAC, MP3, OGG, Opus, AAC, and most things ffmpeg decodes, with gapless playback and ReplayGain.
Transcoding is where the streaming server earns its keep
musikdroid connects over the two ports, browses by artist, album, genre, or playlist, and pulls audio through 7906. On the server side you set a transcoding bitrate (128, 192, 320 kbps, or none) and the server converts FLAC on the fly, with a cache so the second play of a track costs nothing. Over a phone connection that is the difference between usable and not. The Android app also has an offline mode that downloads tracks for later, which is the one feature that makes it a genuine Plexamp-flavoured replacement for people who never wanted the rest of Plex.
What it lacks compared with the web-first servers: no multi-user, no per-user playlists or play counts, no scrobbling to Last.fm out of the box, no album art fetching from external sources, and no browser client for a laptop that is not yours.
Where it sits next to Navidrome and the Subsonic crowd
Navidrome is the default for streaming a personal library today: web UI, Subsonic API, a dozen mobile clients on every platform, multi-user, roughly the same memory footprint. If more than one person or more than one phone platform is involved, Navidrome is the safer pick and the Navidrome setup post covers it. musikcube wins on exactly two counts: it is also the player on the box (a Navidrome server does not make sound), and the terminal UI is excellent. Run both if you like; they can index the same directory without interfering.
What I'd do
Single Android user with a FLAC library and a spare Pi: musikcubed on the Pi, library on the NAS over NFS, server password set, ports reachable over Tailscale only, 192 kbps transcoding for mobile. Use the terminal UI on your desktop for local listening. Anyone with an iPhone in the house or a partner who wants a web page: Navidrome first, musikcube as the terminal client if you still want one. It is a tool for a narrow audience, and for that audience it is the best-built thing in its niche.
Compare musikcube
3 head-to-head comparisons.
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