docker.recipes

Lidarr Music Automation

intermediate

Automated music management with Lidarr and Prowlarr indexer.

Overview

Lidarr is an automated music collection manager that monitors multiple RSS feeds for new releases from your favorite artists and automatically downloads, sorts, and renames music files. Originally forked from Sonarr in 2017, Lidarr has evolved into the premier music automation solution for managing digital music libraries. It integrates with MusicBrainz for metadata accuracy, supports quality profiles for different formats, and can handle both album and artist monitoring with sophisticated release detection. This stack combines Lidarr with Prowlarr, creating a powerful music automation pipeline where Prowlarr serves as the centralized indexer manager feeding torrent trackers and Usenet indexers directly into Lidarr. Prowlarr eliminates the need to manually configure indexers in Lidarr by providing automatic synchronization of over 500 supported indexers, complete with search testing and statistics tracking. This combination is ideal for music enthusiasts running home media servers, audiophiles maintaining extensive digital collections, and anyone seeking to automate the tedious process of music discovery and library management. The integration provides superior indexer management compared to standalone solutions, with Prowlarr's native *arr app sync ensuring new indexers are automatically available in Lidarr without manual intervention.

Key Features

  • MusicBrainz integration for accurate album and artist metadata with automatic tagging
  • Quality profiles supporting multiple audio formats from MP3 to FLAC with bitrate preferences
  • Artist and album monitoring with intelligent release detection and upgrade capabilities
  • Prowlarr's 500+ indexer support with automatic sync to Lidarr eliminating manual configuration
  • Cardigann definition support in Prowlarr for custom torrent tracker integration
  • Calendar view showing upcoming releases from monitored artists with release date tracking
  • Prowlarr search testing and indexer health monitoring with failure notifications
  • Automatic music file organization with customizable naming schemes and folder structures

Common Use Cases

  • 1Home media server operators building comprehensive music libraries with automated collection
  • 2Audiophiles maintaining high-quality FLAC collections with automatic upgrades from lossy formats
  • 3Music enthusiasts tracking new releases from hundreds of artists without manual searching
  • 4Private tracker users leveraging Prowlarr's extensive tracker support for rare music discovery
  • 5Digital music collectors consolidating indexer management across multiple music sources
  • 6Plex or Jellyfin server administrators automating music library expansion and maintenance
  • 7Musicians and DJs building reference libraries with automated organization and quality control

Prerequisites

  • Minimum 512MB RAM for both containers with 1GB+ recommended for large music libraries
  • Available ports 8686 (Lidarr) and 9696 (Prowlarr) or alternative port configuration
  • Storage paths configured for music library and downloads directory with proper permissions
  • PUID/PGID values matching your system's user permissions for file access
  • Basic understanding of music release types, quality profiles, and indexer concepts
  • Access to torrent trackers or Usenet indexers for content acquisition

For development & testing. Review security settings, change default credentials, and test thoroughly before production use. See Terms

docker-compose.yml

docker-compose.yml
1services:
2 prowlarr:
3 image: lscr.io/linuxserver/prowlarr:latest
4 container_name: prowlarr
5 restart: unless-stopped
6 environment:
7 - PUID=${PUID:-1000}
8 - PGID=${PGID:-1000}
9 - TZ=${TZ:-UTC}
10 volumes:
11 - prowlarr_config:/config
12 ports:
13 - "${PROWLARR_PORT:-9696}:9696"
14 networks:
15 - music-network
16
17 lidarr:
18 image: lscr.io/linuxserver/lidarr:latest
19 container_name: lidarr
20 restart: unless-stopped
21 environment:
22 - PUID=${PUID:-1000}
23 - PGID=${PGID:-1000}
24 - TZ=${TZ:-UTC}
25 volumes:
26 - lidarr_config:/config
27 - ${MUSIC_PATH:-./music}:/music
28 - ${DOWNLOADS_PATH:-./downloads}:/downloads
29 ports:
30 - "${LIDARR_PORT:-8686}:8686"
31 depends_on:
32 - prowlarr
33 networks:
34 - music-network
35
36volumes:
37 prowlarr_config:
38 lidarr_config:
39
40networks:
41 music-network:
42 driver: bridge

.env Template

.env
1# Lidarr Music Stack
2LIDARR_PORT=8686
3PROWLARR_PORT=9696
4PUID=1000
5PGID=1000
6TZ=UTC
7MUSIC_PATH=./music
8DOWNLOADS_PATH=./downloads

Usage Notes

  1. 1Lidarr at http://localhost:8686
  2. 2Prowlarr at http://localhost:9696
  3. 3Configure indexers in Prowlarr first
  4. 4Sync Prowlarr to Lidarr

Individual Services(2 services)

Copy individual services to mix and match with your existing compose files.

prowlarr
prowlarr:
  image: lscr.io/linuxserver/prowlarr:latest
  container_name: prowlarr
  restart: unless-stopped
  environment:
    - PUID=${PUID:-1000}
    - PGID=${PGID:-1000}
    - TZ=${TZ:-UTC}
  volumes:
    - prowlarr_config:/config
  ports:
    - ${PROWLARR_PORT:-9696}:9696
  networks:
    - music-network
lidarr
lidarr:
  image: lscr.io/linuxserver/lidarr:latest
  container_name: lidarr
  restart: unless-stopped
  environment:
    - PUID=${PUID:-1000}
    - PGID=${PGID:-1000}
    - TZ=${TZ:-UTC}
  volumes:
    - lidarr_config:/config
    - ${MUSIC_PATH:-./music}:/music
    - ${DOWNLOADS_PATH:-./downloads}:/downloads
  ports:
    - ${LIDARR_PORT:-8686}:8686
  depends_on:
    - prowlarr
  networks:
    - music-network

Quick Start

terminal
1# 1. Create the compose file
2cat > docker-compose.yml << 'EOF'
3services:
4 prowlarr:
5 image: lscr.io/linuxserver/prowlarr:latest
6 container_name: prowlarr
7 restart: unless-stopped
8 environment:
9 - PUID=${PUID:-1000}
10 - PGID=${PGID:-1000}
11 - TZ=${TZ:-UTC}
12 volumes:
13 - prowlarr_config:/config
14 ports:
15 - "${PROWLARR_PORT:-9696}:9696"
16 networks:
17 - music-network
18
19 lidarr:
20 image: lscr.io/linuxserver/lidarr:latest
21 container_name: lidarr
22 restart: unless-stopped
23 environment:
24 - PUID=${PUID:-1000}
25 - PGID=${PGID:-1000}
26 - TZ=${TZ:-UTC}
27 volumes:
28 - lidarr_config:/config
29 - ${MUSIC_PATH:-./music}:/music
30 - ${DOWNLOADS_PATH:-./downloads}:/downloads
31 ports:
32 - "${LIDARR_PORT:-8686}:8686"
33 depends_on:
34 - prowlarr
35 networks:
36 - music-network
37
38volumes:
39 prowlarr_config:
40 lidarr_config:
41
42networks:
43 music-network:
44 driver: bridge
45EOF
46
47# 2. Create the .env file
48cat > .env << 'EOF'
49# Lidarr Music Stack
50LIDARR_PORT=8686
51PROWLARR_PORT=9696
52PUID=1000
53PGID=1000
54TZ=UTC
55MUSIC_PATH=./music
56DOWNLOADS_PATH=./downloads
57EOF
58
59# 3. Start the services
60docker compose up -d
61
62# 4. View logs
63docker compose logs -f

One-Liner

Run this command to download and set up the recipe in one step:

terminal
1curl -fsSL https://docker.recipes/api/recipes/lidarr-music-automation/run | bash

Troubleshooting

  • Lidarr shows no search results: Verify Prowlarr indexers are synced and responding in Prowlarr's test search
  • Permission denied errors on music files: Ensure PUID/PGID environment variables match your system user ID
  • Prowlarr sync failing to Lidarr: Check that Lidarr is accessible at the configured URL and API key is valid
  • Albums not importing after download: Verify download client configuration and folder permissions in both containers
  • MusicBrainz metadata lookup failures: Check network connectivity and consider MusicBrainz rate limiting during peak usage
  • Port 8686 or 9696 already in use: Modify LIDARR_PORT or PROWLARR_PORT environment variables to use alternative ports

Community Notes

Loading...
Loading notes...

Download Recipe Kit

Get all files in a ready-to-deploy package

Includes docker-compose.yml, .env template, README, and license

Ad Space