melodarr

melodarr

Docker app from slimjimserver's Repository

Overview

Melodarr is a self-hosted music discovery and request app for Lidarr. It gives users a simple interface for finding artists and albums

Melodarr icon

Melodarr

1. Overview

Melodarr is a self-hosted music discovery and request app for Lidarr. It gives household members a simple interface for finding artists and albums, exploring personalized recommendations, and sending requests to Lidarr, while optional Plex integration prevents suggestions for music that is already in your library.

Melodarr uses MusicBrainz for music metadata and can use ListenBrainz and Last.fm listening history for recommendations. It includes private accounts, administrator-managed invitations, persistent request history, background library scans, and local metadata and artwork caches.

2. Preview

Discover music

Melodarr Discover page showing music search and personalized recommendations

Explore an artist's discography

Melodarr artist page showing artist information and album availability

Review releases and request missing music

Melodarr release group page showing editions and the search missing action

Link listening accounts

Melodarr linked accounts page for ListenBrainz and Last.fm

3. Features

  • Search MusicBrainz for artists and albums, then browse discographies, releases, and tracklists.
  • Request a complete artist or an individual release group through Lidarr.
  • Apply Lidarr root folder, quality profile, metadata profile, monitoring, tag, and automatic-search defaults.
  • Discover personalized artists and albums from linked ListenBrainz and Last.fm accounts.
  • Filter recommendations and request controls using existing Lidarr entries, previous requests, and selected Plex music libraries.
  • Browse the artists and album-level releases already available in Plex, with links back to Plex.
  • Track queued Lidarr searches and album availability with automatic background jobs.
  • Cache metadata and artwork locally to reduce upstream requests, while revalidating viewed artist discographies in the background.
  • Create private user accounts through one-time, seven-day administrator invitations.
  • Inspect job status, run maintenance jobs, and flush individual caches from the administrator dashboard.

4. Quick start

Melodarr is designed to run with Docker Compose. The included docker-compose.yml uses the published slimjimserver/melodarr:latest image and persists application data in ./data.

  1. Download or copy the docker compose file from the repository.

  2. Create the data directory before starting the container:

    mkdir -p data
    

    On Linux, give Melodarr's fixed container user ownership of the directory:

    chown -R 1000:1000 data
    

    The image runs directly as UID/GID 1000:1000. It does not start as root or change bind-mount ownership during startup.

  3. Start Melodarr:

    docker compose up -d
    
  4. Open http://localhost:5056 and create the owner account. The first account is the administrator.

  5. Open Settings, connect Lidarr, test the connection, and choose the defaults for new requests. Plex is optional.

5. Configuration

Environment variables

No additional environment variables are required for the included Docker Compose setup. It already stores the main database and metadata cache beneath the persistent /app/data mount.

Variable Default Purpose
MELODARR_DATABASE <project>/melodarr.db Main SQLite database containing accounts, invitations, request history, and queued work. The image and Compose set this to /app/data/melodarr.db.
MELODARR_CACHE_DATABASE cache/metadata.db beside the main database Disposable external API-response cache. The image and Compose set this to /app/data/cache/metadata.db.
MELODARR_SETTINGS settings.json beside the main database Service configuration and credentials saved through the web UI.
MELODARR_SECRET_KEY_FILE session-secret.key beside the main database Persistent generated session-signing key file.
MELODARR_SECRET_KEY Generated and saved to the key file Explicit session-signing secret. Normally leave unset so Melodarr manages a persistent key in the data volume.
MELODARR_ARTWORK_CACHE <project>/data/cache/artwork Directory used for downloaded artist and album artwork.
MELODARR_COOKIE_SECURE false Set to true when Melodarr is served through HTTPS so session cookies are marked secure.
PORT 5056 Port used only by the local Flask development server. The production Gunicorn container listens on port 5056.
FLASK_DEBUG unset Set to 1 only when running the local development server. Do not enable it in production.

Unraid Community Applications

Use this volume mapping:

Host:      /mnt/user/appdata/melodarr
Container: /app/data

Do not map a host directory to /app; doing so hides Melodarr's application files. Only /app/data should be used for persistent storage.

To use Unraid's native nobody:users identity, prepare the directory once from the Unraid terminal:

mkdir -p /mnt/user/appdata/melodarr
chown -R 99:100 /mnt/user/appdata/melodarr

Then add this in the container's Extra Parameters field:

--user 99:100

Remove any PUID or PGID variables from an older template; Melodarr no longer uses them. Docker's --user override starts Melodarr directly as 99:100, without a root entrypoint.

For an HTTPS deployment, add this to the service's environment block in docker-compose.yml:

MELODARR_COOKIE_SECURE: "true"

Service configuration

Service credentials are configured after signing in; they are not environment variables.

  • Lidarr (required for requests): hostname or IP address, port, SSL choice, API key, and optionally an external browser-facing URL. After testing the connection, choose the root folder, quality and metadata profiles, monitoring behavior, tags, and automatic-search behavior.
  • Plex (optional): server URL, authentication token, and one or more music libraries to scan.
  • ListenBrainz (optional, per user): public ListenBrainz username.
  • Last.fm (optional, per user): Last.fm username and API key.

Settings and service credentials are stored in data/settings.json when using Docker. Keep the data directory private. Back up melodarr.db, settings.json, and session-secret.key; the reproducible cache/ directory can be excluded from backups.

Melodarr is licensed under the GNU General Public License v3.0.

Install Melodarr on Unraid in a few clicks.

Find Melodarr in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.

Open the Apps tab on your Unraid server Search Community Apps for Melodarr Review the template variables and paths Click Install

Download Statistics

169
Total Downloads

Related apps

Explore more like this

Explore all

Details

Repository
slimjimserver/melodarr:latest
Last Updated2026-07-22
First Seen2026-07-22

Runtime arguments

Web UI
http://[IP]:[PORT:5056]
Network
bridge
Shell
sh
Privileged
false
Extra Params
--user 99:100

Template configuration

WebUIPorttcp
Target
5056
Default
5056
AppdataPathrw
Target
/app/data
Default
/mnt/user/appdata/melodarr
MELODARR_DATABASEVariable
Default
/app/data/melodarr.db
MELODARR_CACHE_DATABASEVariable
Default
/app/data/cache/metadata.db
TimezoneVariable
Target
TZ
Default
America/New_York