All apps · 0 apps
melodarr
Docker app from slimjimserver's Repository
Overview
Readme
View on GitHub
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

Explore an artist's discography

Review releases and request missing music

Link listening accounts

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.
Download or copy the docker compose file from the repository.
Create the data directory before starting the container:
mkdir -p dataOn Linux, give Melodarr's fixed container user ownership of the directory:
chown -R 1000:1000 dataThe image runs directly as UID/GID
1000:1000. It does not start as root or change bind-mount ownership during startup.Start Melodarr:
docker compose up -dOpen http://localhost:5056 and create the owner account. The first account is the administrator.
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.
Categories
Download Statistics
Related apps
Explore more like this
Explore allDetails
slimjimserver/melodarr:latestRuntime arguments
- Web UI
http://[IP]:[PORT:5056]- Network
bridge- Shell
sh- Privileged
- false
- Extra Params
--user 99:100
Template configuration
- Target
- 5056
- Default
- 5056
- Target
- /app/data
- Default
- /mnt/user/appdata/melodarr
- Default
- /app/data/melodarr.db
- Default
- /app/data/cache/metadata.db
- Target
- TZ
- Default
- America/New_York