Lidarr automates music tracking, downloading, and library sorting across Usenet and BitTorrent with automated quality upgrades and MusicBrainz integration.
A self-hosted media server hosting eighty thousand audio tracks chokes under manual folder sorting and ad-hoc downloads. New studio releases go unnoticed, lossy rips sit alongside high-bitrate files, and album art remains fragmented across storage pools. Lidarr brings the automated pipeline architecture of Sonarr to music collections, tracking artist discographies and grabbing releases as soon as indexers publish them.
Lidarr occupies a distinct operational position in the self-hosted ecosystem. Unlike movie or television automation where collections hold a few thousand files, music libraries routinely scale into hundreds of thousands of individual tracks across dense artist discographies. Commercial streaming platforms rent access without local file custody, leaving self-hosting operators dependent on manual tracker searches and fragmented storage. Lidarr automates the entire collection lifecycle, sitting between indexer coordinators like Prowlarr, download clients like qBittorrent, and streaming servers like Navidrome or Jellyfin.
At scale, music automation introduces severe input-output bottlenecks and database churn that general-purpose scripts cannot withstand. While legacy tools like Headphones suffered from stalled processes and abandoned scrapers, Lidarr uses the modern C# codebase proven across the Servarr project family. Its performance design emphasizes efficiency on multi-disk home arrays: when configured with atomic hardlinks on shared volume mounts, Lidarr imports discographies instantaneously without duplicate drive writes. Admins running extensive libraries can also swap the embedded SQLite engine for PostgreSQL, preventing database locks during intensive scans.
.cue index sheets (tracked in issue #515) are not split into distinct tracks during import, requiring external pre-processing.Can Lidarr automatically upgrade MP3 tracks to lossless FLAC? Yes. Operators configure quality profiles with an upgrade cutoff, instructing Lidarr to monitor indexers and automatically fetch higher-tier lossless files as they appear.
Does Lidarr replace streaming media servers like Navidrome or Jellyfin? No. Lidarr automates release discovery, downloading, and file organization, while servers like Navidrome or Jellyfin handle streaming and playback.
Can Lidarr organize music collections that lack MusicBrainz entries? No. Lidarr enforces strict MusicBrainz alignment for all metadata, so untracked live bootlegs or custom mixes must be added to MusicBrainz before Lidarr can manage them.
For homelab administrators running dedicated streaming servers, Lidarr delivers dependable music ingestion when paired with reliable indexers and clean upstream metadata. It is not designed for loose individual songs, DJ sets, or monolithic disc images with cue sheets. Active development with commits in 2026 and GPL-3.0 licensing ensure ongoing tracker compatibility, making Lidarr the practical standard for automated, album-focused library management.
Commands from the official package registries. Each package is matched to Lidarr through the registry's own link to its source code or website.
winget install --id TeamLidarr.Lidarr -eWe started this exact setup from scratch in a clean Linux machine on Nov 3, 2026 and checked it through Lidarr's own API: every check passed. Recipes are re-checked regularly and removed if they stop working.
mkdir -p lidarr && cd lidarr
curl -fsSL https://open-source.store/tools/lidarr/compose.yml -o compose.ymlcat > .env <<EOF
LIDARR_API_KEY=$(openssl rand -hex 16)
EOFLIDARR_API_KEY — API key for authenticating with Lidarr and connecting external tools. Generated above; keep it secret.docker compose up -dservices:
lidarr:
image: ghcr.io/linuxserver/lidarr:3.1.6.5079-ls46
environment:
PUID: 1000
PGID: 1000
TZ: Etc/UTC
LIDARR__AUTH__APIKEY: ${LIDARR_API_KEY}
volumes:
- lidarr-config:/config
- lidarr-music:/music
ports:
- "8686:8686"
restart: unless-stopped
healthcheck:
test: ["CMD-SHELL", "curl -f http://localhost:8686/ping || exit 1"]
interval: 10s
timeout: 5s
retries: 5
start_period: 20s
volumes:
lidarr-config:
lidarr-music:
Free IDE for Java, Kotlin, Go, TypeScript and Python. Built on IntelliJ Community, fully open source, 300+ plugins.
Show that Lidarr is listed as an open-source alternative. Paste into your README:
Ubuntu 24.04 · Apple container, Docker 29.1.3, Compose 2.40.3+ds1-0ubuntu1~24.04.1. Images pulled in 15 s: ghcr.io/linuxserver/lidarr:3.1.6.5079-ls46.
Based on the upstream setup. LinuxServer.io compose (the Docker image Lidarr's install docs point to); image pinned to 3.1.6.5079-ls46, API key moved to .env, healthcheck added.
lidarr-1 | 2026-11-03T01:32:31.657064375Z [Warn] StaticResourceController: Couldn't find handler for /config/fastcgi.conf lidarr-1 | 2026-11-03T01:32:31.657280875Z [Info] Lidarr.Http.Authentication.ApiKeyAuthenticationHandler: AuthenticationScheme: API was challenged. lidarr-1 | 2026-11-03T01:32:31.657391250Z [Info] Lidarr.Http.Authentication.ApiKeyAuthenticationHandler: AuthenticationScheme: API was challenged. lidarr-1 | 2026-11-03T01:32:31.657485166Z [Warn] StaticResourceController: Couldn't find handler for /XmlPeek.aspx lidarr-1 | 2026-11-03T01:32:31.657566791Z [Warn] StaticResourceController: Couldn't find handler for /wa.exe lidarr-1 | 2026-11-03T01:32:31.657848958Z [Warn] StaticResourceController: Couldn't find handler for /Solar_SlideSub.php lidarr-1 | 2026-11-03T01:32:31.658025875Z [Warn] StaticResourceController: Couldn't find handler for /credentials/auth.json lidarr-1 | 2026-11-03T01:32:31.658203291Z [Warn] StaticResourceController: Couldn't find handler for /index_dev.php/_profiler/empty/search/results lidarr-1 | 2026-11-03T01:32:31.658303583Z [Warn] StaticResourceController: Couldn't find handler for /index.php lidarr-1 | 2026-11-03T01:32:31.658433750Z [Warn] StaticResourceController: Couldn't find handler for /config/fastcgi.conf lidarr-1 | 2026-11-03T01:32:31.658712375Z [Warn] StaticResourceController: Couldn't find handler for /wp-admin/admin-ajax.php lidarr-1 | 2026-11-03T01:32:31.658958041Z [Warn] StaticResourceController: Couldn't find handler for /Solar_SlideSub.php lidarr-1 | 2026-11-03T01:32:31.659048500Z [Warn] StaticResourceController: Couldn't find handler for /Glimpse.axd lidarr-1 | 2026-11-03T01:32:31.659192708Z [Warn] StaticResourceController: Couldn't find handler for /.dockerfile lidarr-1 | 2026-11-03T01:32:31.659263833Z [Warn] StaticResourceController: Couldn't find handler for /index.php lidarr-1 | 2026-11-03T01:32:31.659348583Z [Warn] StaticResourceController: Couldn't find handler for /browser_search_plugin.php lidarr-1 | 2026-11-03T01:32:31.659455583Z [Warn] StaticResourceController: Couldn't find handler for /browser_search_plugin.php lidarr-1 | 2026-11-03T01:32:31.659539916Z [Warn] StaticResourceController: Couldn't find handler for /.dockerfile lidarr-1 | 2026-11-03T01:32:31.659977333Z [Warn] StaticResourceController: Couldn't find handler for /admin/public/login.jsp lidarr-1 | 2026-11-03T01:32:31.660066500Z [Warn] StaticResourceController: Couldn't find handler for /admin/public/login.jsp lidarr-1 | 2026-11-03T01:32:31.660199166Z [Warn] StaticResourceController: Couldn't find handler for /wp-admin/admin-ajax.php lidarr-1 | 2026-11-03T01:32:31.662025208Z [Warn] StaticResourceController: Couldn't find handler for /learn/cubemail/filemanagement.php lidarr-1 | 2026-11-03T01:32:31.662113208Z [Warn] StaticResourceController: Couldn't find handler for /dev.php/_profiler/empty/search/results lidarr-1 | 2026-11-03T01:32:31.662209125Z [Warn] StaticResourceController: Couldn't find handler for /creds/auth.json lidarr-1 | 2026-11-03T01:32:31.662315958Z [Warn] StaticResourceController: Couldn't find handler for /cgi-bin/user/Config.cgi lidarr-1 | 2026-11-03T01:32:31.662454416Z [Warn] StaticResourceController: Couldn't find handler for /lucee/admin/web.cfm lidarr-1 | 2026-11-03T01:32:31.663240083Z [Warn] StaticResourceController: Couldn't find handler for /opennms/index.jsp lidarr-1 | 2026-11-03T01:32:31.663334875Z [Info] Lidarr.Http.Authentication.ApiKeyAuthenticationHandler: AuthenticationScheme: API was challenged. lidarr-1 | 2026-11-03T01:32:31.663465291Z [Warn] StaticResourceController: Couldn't find handler for /apiserver-etcd-client.key lidarr-1 | 2026-11-03T01:32:31.663581458Z [Info] Lidarr.Http.Authentication.ApiKeyAuthenticationHandler: AuthenticationScheme: API was challenged. lidarr-1 | 2026-11-03T01:32:31.663740750Z [Warn] StaticResourceController: Couldn't find handler for /lucee/admin/web.cfm lidarr-1 | 2026-11-03T01:32:31.663833208Z [Warn] StaticResourceController: Couldn't find handler for /badging/badge_template_v0.php lidarr-1 | 2026-11-03T01:32:31.664633291Z [Info] Lidarr.Http.Authentication.ApiKeyAuthenticationHandler: AuthenticationScheme: API was challenged. lidarr-1 | 2026-11-03T01:32:31.664635500Z [Warn] StaticResourceController: Couldn't find handler for /.Dockerfile lidarr-1 | 2026-11-03T01:32:31.664636333Z [Warn] StaticResourceController: Couldn't find handler for /parameters.yml lidarr-1 | 2026-11-03T01:32:31.664636916Z [Info] Lidarr.Http.Authentication.ApiKeyAuthenticationHandler: AuthenticationScheme: API was challenged. lidarr-1 | 2026-11-03T01:32:31.664637541Z [Warn] StaticResourceController: Couldn't find handler for /parameters.yml lidarr-1 | 2026-11-03T01:32:31.664638125Z [Info] Lidarr.Http.Authentication.ApiKeyAuthenticationHandler: AuthenticationScheme: API was challenged. lidarr-1 | 2026-11-03T01:32:31.664638666Z [Warn] StaticResourceController: Couldn't find handler for /.Dockerfile lidarr-1 | 2026-11-03T01:32:31.664639166Z [Warn] StaticResourceController: Couldn't find handler for /wt3/forceSave.php lidarr-1 | 2026-11-03T01:32:31.664639666Z [Warn] StaticResourceController: Couldn't find handler for /badging/badge_template_v0.php lidarr-1 | 2026-11-03T01:32:31.664640166Z [Info] Lidarr.Http.Authentication.ApiKeyAuthenticationHandler: AuthenticationScheme: API was challenged. lidarr-1 | 2026-11-03T01:32:31.664640666Z [Warn] StaticResourceController: Couldn't find handler for /index_dev.php/_profiler/empty/search/results lidarr-1 | 2026-11-03T01:32:31.664652291Z [Info] Lidarr.Http.Authentication.ApiKeyAuthenticationHandler: AuthenticationScheme: API was challenged. lidarr-1 | 2026-11-03T01:32:31.664796750Z [Warn] StaticResourceController: Couldn't find handler for /opennms/index.jsp lidarr-1 | 2026-11-03T01:32:31.664944583Z [Warn] StaticResourceController: Couldn't find handler for /learn/cubemail/filemanagement.php lidarr-1 | 2026-11-03T01:32:31.664965458Z [Warn] StaticResourceController: Couldn't find handler for /wt3/forceSave.php lidarr-1 | 2026-11-03T01:32:32.626423500Z [Info] Lidarr.Http.Authentication.ApiKeyAuthenticationHandler: AuthenticationScheme: API was challenged. lidarr-1 | 2026-11-03T01:32:32.626458125Z [Warn] StaticResourceController: Couldn't find handler for /ie50/system/login/SysLoginUser.aspx lidarr-1 | 2026-11-03T01:32:32.626461167Z [Warn] StaticResourceController: Couldn't find handler for /wp-content/plugins/wordfence/lib/wordfenceClass.php lidarr-1 | 2026-11-03T01:32:32.626881042Z [Warn] StaticResourceController: Couldn't find handler for /keys/auth.json lidarr-1 | 2026-11-03T01:32:32.628720333Z [Info] Lidarr.Http.Authentication.ApiKeyAuthenticationHandler: AuthenticationScheme: API was challenged. lidarr-1 | 2026-11-03T01:32:32.628907958Z [Warn] StaticResourceController: Couldn't find handler for /apiserver-etcd-client.key lidarr-1 | 2026-11-03T01:32:32.629046667Z [Info] Lidarr.Http.Authentication.ApiKeyAuthenticationHandler: AuthenticationScheme: API was challenged. lidarr-1 | 2026-11-03T01:32:32.629471500Z [Warn] StaticResourceController: Couldn't find handler for /libs/granite/offloading/content/view.html lidarr-1 | 2026-11-03T01:32:32.630745625Z [Warn] StaticResourceController: Couldn't find handler for /dev.php/_profiler/empty/search/results lidarr-1 | 2026-11-03T01:32:32.637621917Z [Info] Lidarr.Http.Authentication.ApiKeyAuthenticationHandler: AuthenticationScheme: API was challenged. lidarr-1 | 2026-11-03T01:32:32.637741375Z [Info] Lidarr.Http.Authentication.ApiKeyAuthenticationHandler: AuthenticationScheme: API was challenged. lidarr-1 | 2026-11-03T01:32:32.637829917Z [Warn] StaticResourceController: Couldn't find handler for /ie50/system/login/SysLoginUser.aspx lidarr-1 | 2026-11-03T01:32:32.637913667Z [Warn] StaticResourceController: Couldn't find handler for /opennms/dashboard.jsp lidarr-1 | 2026-11-03T01:32:32.637995958Z [Warn] StaticResourceController: Couldn't find handler for /libs/granite/offloading/content/view.html lidarr-1 | 2026-11-03T01:32:32.638069833Z [Warn] StaticResourceController: Couldn't find handler for /cgi-bin/user/Config.cgi lidarr-1 | 2026-11-03T01:32:32.638327375Z [Warn] StaticResourceController: Couldn't find handler for /app/config/parameters.yml lidarr-1 | 2026-11-03T01:32:32.644122958Z [Warn] StaticResourceController: Couldn't find handler for /index.php/index/install lidarr-1 | 2026-11-03T01:32:32.645950833Z [Warn] StaticResourceController: Couldn't find handler for /cgi-bin/user/Config.cgi lidarr-1 | 2026-11-03T01:32:32.646043333Z [Warn] StaticResourceController: Couldn't find handler for /plus/download.php lidarr-1 | 2026-11-03T01:32:32.646115750Z [Warn] StaticResourceController: Couldn't find handler for /opennms/dashboard.jsp lidarr-1 | 2026-11-03T01:32:32.646170917Z [Warn] StaticResourceController: Couldn't find handler for /plus/download.php lidarr-1 | 2026-11-03T01:32:32.646274917Z [Warn] StaticResourceController: Couldn't find handler for /lucee/admin/server.cfm lidarr-1 | 2026-11-03T01:32:32.646303708Z [Warn] StaticResourceController: Couldn't find handler for /wp-content/plugins/wordfence/lib/wordfenceClass.php lidarr-1 | 2026-11-03T01:32:32.646345375Z [Warn] StaticResourceController: Couldn't find handler for /debug.php/_profiler/empty/search/results lidarr-1 | 2026-11-03T01:32:32.646373000Z [Warn] StaticResourceController: Couldn't find handler for /wavemaker/studioService.download lidarr-1 | 2026-11-03T01:32:32.646425625Z [Warn] StaticResourceController: Couldn't find handler for /wavemaker/studioService.download lidarr-1 | 2026-11-03T01:32:32.646485625Z [Warn] StaticResourceController: Couldn't find handler for /index.php lidarr-1 | 2026-11-03T01:32:32.646534375Z [Info] Lidarr.Http.Authentication.ApiKeyAuthenticationHandler: AuthenticationScheme: API was challenged. lidarr-1 | 2026-11-03T01:32:32.646940375Z [Warn] StaticResourceController: Couldn't find handler for /wp-content/plugins/members-list/admin/view/user.php lidarr-1 | 2026-11-03T01:32:32.647389833Z [Warn] StaticResourceController: Couldn't find handler for /mobile/error-not-supported-platform.html lidarr-1 | 2026-11-03T01:32:32.647525500Z [Warn] StaticResourceController: Couldn't find handler for /mobile/error-not-supported-platform.html lidarr-1 | 2026-11-03T01:32:32.647670542Z [Warn] StaticResourceController: Couldn't find handler for /index.php lidarr-1 | 2026-11-03T01:32:32.648032667Z [Warn] StaticResourceController: Couldn't find handler for /sap/bc/BSp/sap/menu/fameset.htm lidarr-1 | 2026-11-03T01:32:32.648341458Z [Warn] StaticResourceController: Couldn't find handler for /app/config/parameters.yml lidarr-1 | 2026-11-03T01:32:32.648491708Z [Warn] StaticResourceController: Couldn't find handler for /index.php lidarr-1 | 2026-11-03T01:32:32.648945667Z [Warn] StaticResourceController: Couldn't find handler for /debug.php/_profiler/empty/search/results lidarr-1 | 2026-11-03T01:32:32.649170542Z [Warn] StaticResourceController: Couldn't find handler for /index.php lidarr-1 | 2026-11-03T01:32:32.649402333Z [Warn] StaticResourceController: Couldn't find handler for /index.php/index/install lidarr-1 | 2026-11-03T01:32:32.649474375Z [Warn] StaticResourceController: Couldn't find handler for /lucee/admin/server.cfm lidarr-1 | 2026-11-03T01:32:32.649555583Z [Warn] StaticResourceController: Couldn't find handler for /credentials/auth.json lidarr-1 | 2026-11-03T01:32:32.649623958Z [Warn] StaticResourceController: Couldn't find handler for /sap/bc/BSp/sap/menu/fameset.htm lidarr-1 | 2026-11-03T01:32:32.649704083Z [Warn] StaticResourceController: Couldn't find handler for /wp-content/plugins/members-list/admin/view/user.php lidarr-1 | 2026-11-03T01:32:32.650487292Z [Warn] StaticResourceController: Couldn't find handler for /cgi-bin/user/Config.cgi lidarr-1 | 2026-11-03T01:32:32.650633083Z [Warn] StaticResourceController: Couldn't find handler for /parameters.yml.dist lidarr-1 | 2026-11-03T01:32:32.650774875Z [Warn] StaticResourceMapper: File /app/lidarr/bin/UI/firebase-messaging-sw.js not found lidarr-1 | 2026-11-03T01:32:32.653285542Z [Warn] StaticResourceController: Couldn't find handler for /creds/auth.json lidarr-1 | 2026-11-03T01:32:32.653489792Z [Info] Lidarr.Http.Authentication.ApiKeyAuthenticationHandler: AuthenticationScheme: API was challenged. lidarr-1 | 2026-11-03T01:32:32.653698667Z [Info] Lidarr.Http.Authentication.ApiKeyAuthenticationHandler: AuthenticationScheme: API was challenged. lidarr-1 | 2026-11-03T01:32:32.654359625Z [Warn] StaticResourceController: Couldn't find handler for /tool/log/c.php lidarr-1 | 2026-11-03T01:32:32.654577250Z [Warn] StaticResourceController: Couldn't find handler for /wp-admin/admin-ajax.php lidarr-1 | 2026-11-03T01:32:32.654677875Z [Warn] StaticResourceController: Couldn't find handler for /.env lidarr-1 | 2026-11-03T01:32:32.654864333Z [Warn] StaticResourceMapper: File /app/lidarr/bin/UI/firebase-messaging-sw.js not found lidarr-1 | 2026-11-03T01:32:32.655062083Z [Info] Lidarr.Http.Authentication.ApiKeyAuthenticationHandler: AuthenticationScheme: API was challenged. lidarr-1 | 2026-11-03T01:32:32.655121500Z [Warn] StaticResourceController: Couldn't find handler for /.env lidarr-1 | 2026-11-03T01:32:32.655299750Z [Warn] StaticResourceController: Couldn't find handler for /parameters.yml.dist lidarr-1 | 2026-11-03T01:32:32.655522333Z [Warn] StaticResourceController: Couldn't find handler for /wp-admin/admin-ajax.php lidarr-1 | 2026-11-03T01:32:32.656324667Z [Warn] StaticResourceController: Couldn't find handler for /manifest.json lidarr-1 | 2026-11-03T01:32:32.656377167Z [Warn] StaticResourceController: Couldn't find handler for /tool/log/c.php lidarr-1 | 2026-11-03T01:32:32.656446333Z [Warn] StaticResourceController: Couldn't find handler for /app/config/parameters.yml.dist lidarr-1 | 2026-11-03T01:32:32.656732792Z [Warn] StaticResourceController: Couldn't find handler for /app/config/parameters.yml.dist lidarr-1 | 2026-11-03T01:32:32.656758000Z [Warn] StaticResourceController: Couldn't find handler for /manifest.json lidarr-1 | 2026-11-03T01:32:32.657878167Z [Warn] StaticResourceController: Couldn't find handler for /frontend_dev.php/_profiler/empty/search/results lidarr-1 | 2026-11-03T01:32:32.658153167Z [Warn] StaticResourceController: Couldn't find handler for /backend_dev.php/_profiler/empty/search/results lidarr-1 | 2026-11-03T01:32:32.658342250Z [Warn] StaticResourceController: Couldn't find handler for /frontend_dev.php/_profiler/empty/search/results lidarr-1 | 2026-11-03T01:32:32.658477958Z [Warn] StaticResourceController: Couldn't find handler for /api_dev.php/_profiler/empty/search/results lidarr-1 | 2026-11-03T01:32:32.658702958Z [Warn] StaticResourceController: Couldn't find handler for /backend_dev.php/_profiler/empty/search/results lidarr-1 | 2026-11-03T01:32:32.658841208Z [Warn] StaticResourceController: Couldn't find handler for /app.php/_profiler/empty/search/results lidarr-1 | 2026-11-03T01:32:32.658942042Z [Warn] StaticResourceController: Couldn't find handler for /api_dev.php/_profiler/empty/search/results lidarr-1 | 2026-11-03T01:32:32.659061375Z [Warn] StaticResourceController: Couldn't find handler for /app_test.php/_profiler/empty/search/results lidarr-1 | 2026-11-03T01:32:32.659185917Z [Warn] StaticResourceController: Couldn't find handler for /app.php/_profiler/empty/search/results lidarr-1 | 2026-11-03T01:32:32.659303833Z [Warn] StaticResourceController: Couldn't find handler for /test.php/_profiler/empty/search/results lidarr-1 | 2026-11-03T01:32:32.659439292Z [Warn] StaticResourceController: Couldn't find handler for /app_test.php/_profiler/empty/search/results lidarr-1 | 2026-11-03T01:32:32.659669542Z [Warn] StaticResourceController: Couldn't find handler for /test.php/_profiler/empty/search/results