Skip to content

Quick start ​

MelodyBridge runs in Docker. You need Docker or Podman, nothing else.

bash
mkdir melodybridge && cd melodybridge
wget https://melodybridge.app/compose.yml
docker compose up -d
bash
mkdir melodybridge && cd melodybridge
wget https://melodybridge.app/compose.yml
podman compose up -d

That starts two containers on one internal network: MelodyBridge on http://localhost:3333, and FlareSolverr, the Cloudflare solver that the Lucida plugin needs. The port binds to 127.0.0.1, so the app is not reachable from other machines until you put a reverse proxy in front of it.

The first start creates a ./data folder next to the compose file:

  • ./data/music for downloads
  • ./data/playlists for M3U output
  • ./data/app for the SQLite database

Point Jellyfin, Plex or Navidrome at ./data/music and they will see everything MelodyBridge downloads.

Your first download ​

Add a playlist

Open Playlists and paste a public Spotify, YouTube, Deezer, SoundCloud or ListenBrainz playlist link. Press Fetch & save; MelodyBridge stores the track list in its local database.

Download the music

Open the playlist and press Download missing. The plugins search and download each track, and the list fills in with the real quality of every file.

Publish it

Create a sync job that writes an M3U file or pushes the playlist to Jellyfin, Plex or a Subsonic server. More about that in Publishing playlists.

Playlists page with saved playlists and their download progress

Paths inside the container

MelodyBridge only sees the container side of your volumes, so every path you type in the app is a container path: the music folder is /music, not C:\Music or /home/you/Music. If your media server runs on the same machine as Docker, use http://host.docker.internal:8096 (Jellyfin), :32400 (Plex) or :4533 (Navidrome) as its server URL.

What next ​

  • Docker deployment for the beta channel, the dev setup, a manual build and what every volume and environment variable does.
  • How it works for the download waterfall, the quality checks and how your library survives a database wipe.
  • Publishing playlists for the full sync job wizard and schedules.
  • Accounts and imports when you want private playlists or liked songs, not just public links.