MusicD

MusicD Remote

A music-discovery companion and full-screen wall display for Roon — random-album browsing, instant whole-library search, rich label & artist pages, and seamless playback with Roon Server at the heart.

v1.6.51 Docker MIT licence Pairs with your Roon Core over the network

Features

Everything talks to your existing Roon Core through the official extension API — the app never touches your library files (except an optional read-only mount for label-tag scanning).

🎵Album discovery

Random album selection with filtering, Album of the day, Label of the week, Play Unheard, and recently-unplayed recommendations. The database learns what you've heard and resurfaces forgotten albums.

📚Rich library browsing

Browse by album, artist, genre, record label, decade or tag — and jump between related artists, albums and labels from anywhere.

🔍Powerful search

Instant whole-library search by album, artist or record label, with optional extension to Qobuz and TIDAL — browse the streaming catalogues and add favourites straight into your Roon library.

💿Detailed album pages

High-resolution artwork, track listing, release year, label, duration, multiple-artist support and Pitchfork reviews where available.

📺Full-screen wall display

Turn a TV or tablet into a now-playing display: big artwork, artist photography, biographies, reviews, related albums and YouTube music videos with automatic rotation.

🏷Record label explorer

Label of the week, label artwork via Discogs and FanArt.tv, label merging with undo, and every release from a selected label.

📻Random Album Radio

When the queue finishes, the app picks another album (avoiding recent plays) and keeps the music flowing indefinitely.

Playback integration

Play or queue albums and tracks, multi-select, zone switching, and automatic continue-playback when the queue ends.

🔄Automatic updates

Built-in update checker with one-click updates straight from GitHub releases.

Install with Docker

Pick where you're running the app, fill in the details, and copy the generated command. On Linux the app uses host networking so it can auto-discover your Roon Core; once it's running you enable it in Roon → Settings → Extensions.

sudo mkdir -p /opt/musicd-remote
cd /opt/musicd-remote
sudo wget https://github.com/meltface-80/MusicD-Remote/releases/download/v1.6.51/MusicD-Remote-v1.6.51.tar.gz
sudo tar -xzf MusicD-Remote-v1.6.51.tar.gz
docker build -t musicd-remote:1.6.51 .

# Run it
docker run -d \
  --name musicd-remote \
  --restart unless-stopped \
  --network host \
  -v musicd-remote-data:/app/data \
  -v "/your/path/to/Music:/music:ro" \
  musicd-remote:1.6.51

Installing v1.6.51 (checking for the latest release…). If your user isn't in the docker group, prefix the docker commands with sudo.

One volume to rule them all. The musicd-remote-data volume holds your Roon pairing, play history and label cache — never rename it once created. A different name silently starts empty (Roon asks you to authorize again and your history is gone). Upgrading from v1.6.31 or earlier? Move your data once with the copy step in the Updating guide.

API keys

All free, all optional — but they significantly improve artwork and label coverage. Paste each one into the app under the gear icon → Settings, then Save.

Free

FanArt.tv

High-quality record-label logos for labels that have a MusicBrainz MBID.

  1. Register (or sign in) at fanart.tv/get-an-api-key and request a personal API key
  2. Follow the on-screen prompts — the key is shown on that page once you're logged in
  3. Copy the key
  4. In the app: gear icon → paste into FanArt.tv keySave
Free

YouTube Data API v3

Music videos on the wall display. No billing account needed.

  1. Go to console.cloud.google.com and sign in with any Google account
  2. Project dropdown (top bar) → New project → name it anything (e.g. "MusicD Display") → Create, and make sure it's selected
  3. Menu → APIs & Services → Library → search "YouTube Data API v3" → Enable
  4. APIs & Services → Credentials → + Create credentials → API key — copy the key
  5. Recommended: Edit the key → API restrictions → Restrict key → tick only YouTube Data API v3 → Save
  6. In the app: gear icon → paste into YouTube API keySave

The free quota (10,000 units/day) comfortably covers a home display — roughly 90+ fresh tracks a day, and results are cached. If it's ever exhausted it simply pauses until midnight Pacific, when the quota resets.

Free

Discogs

Finds label names that iTunes and MusicBrainz miss, and fetches label logos.

  1. Sign in (or register) at discogs.com
  2. Settings → DevelopersGenerate new token
  3. Copy the token
  4. In the app: gear icon → paste into Discogs tokenSave

Environment variables

Everything the container understands — the configurator above sets the ones you need.

VariableDefaultPurpose
PORT3399HTTP port for this app
ROON_CORE_IP(discover)Roon Core address for setups where multicast discovery can't reach it (macOS / Docker Desktop)
ROON_CORE_PORT9330Roon Core API port used with ROON_CORE_IP — only change it if your Core runs its API on a non-standard port
MUSIC_DIR/musicWhere the optional read-only music mount lives inside the container (only used for file-tag label scanning)
RRA_DEBUGon in DockerVerbose logging (timestamps, Roon API call traces with durations). On by default inside Docker — 0 for quiet logs

First run

The container is up — four steps and you're listening.

  1. Enable the extension in Roon. Roon → Settings → Extensions — MusicD appears there once the container is running. Click Enable.
  2. Open the app. Browse to http://<your-server-ip>:3399 from any phone, tablet or desktop on your network. Add it to your home screen for an app-like experience.
  3. Add your API keys. Gear icon → paste in the keys from above, then let the label scan run.
  4. Optional: wall display. Point a TV or spare tablet at http://<your-server-ip>:3399/display.