• This repository has been archived on 21/Mar/2023
  • Stars
    star
    216
  • Rank 183,179 (Top 4 %)
  • Language
    Shell
  • License
    GNU General Publi...
  • Created over 4 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

AMD is a Lidarr companion script to automatically download music for Lidarr

Deprecated

This repository is now deprecated, will no longer be updated and is being archived. Please visit the new project/replacement:



AMD - Automated Music Downloader

RandomNinjaAtk/amd is a Lidarr companion script to automatically download music for Lidarr

RandomNinjaAtk/amd

Audio (AMD) + Video (AMVD) (Plex Example)

Features

  • Downloading Music using online sources for use in popular applications (Plex/Kodi/Emby/Jellyfin):
    • Searches for downloads based on Lidarr's album wanted list
    • Downloads using a third party download client automatically
    • FLAC / MP3 (320/120) Download Quality
    • Notifies Lidarr to automatically import downloaded files
    • Music is properly tagged and includes coverart before Lidarr Receives them (Third Party Download Client handles it)

Supported Architectures

The architectures supported by this image are:

Architecture Tag
x86-64 latest

Version Tags

Tag Description
latest Newest release code

Parameters

Container images are configured using parameters passed at runtime (such as those above). These parameters are separated by a colon and indicate <external>:<internal> respectively. For example, -p 8080:80 would expose port 80 from inside the container to be accessible from the host's IP on port 8080 outside the container. See the wiki to understand how it works.

Parameter Function
-v /config Configuration files for Lidarr.
-v /downloads-amd Path to your download folder location. (DO NOT DELETE, this is a required path) :: !!!IMPORTANT!!! Map this exact volume mount to your Lidarr Container for everything to work properly!!!
-e PUID=1000 for UserID - see below for explanation
-e PGID=1000 for GroupID - see below for explanation
-e AUTOSTART=true true = Enabled :: Runs script automatically on startup
-e SCRIPTINTERVAL=1h #s or #m or #h or #d :: s = seconds, m = minutes, h = hours, d = days :: Amount of time between each script run, when AUTOSTART is enabled
-e DOWNLOADMODE=wanted wanted or artist :: wanted mode only download missing/cutoff :: artist mode downloads all albums by an artist (requires lidarr volume mapping root media folders for import)
-e FALLBACKSEARCH=True True or False :: True = enabled :: Allows DL client to search for missing songs when they are not available
-e LIST=both both or missing or cutoff :: both = missing + cutoff :: missng = lidarr missing list :: cutoff = lidarr cutoff list
-e SearchType=both both or artist or fuzzy :: both = artist + fuzzy searching :: artist = only artist searching :: fuzzy = only fuzzy searching (Various Artist is always fuzzy searched, regardless of setting)
-e Concurrency=1 Number of concurrent downloads
-e EMBEDDED_COVER_QUALITY=80 Controls the quality of the cover image compression in percentage, 100 = no compression
-e FORMAT=FLAC FLAC or MP3 or OPUS or AAC or ALAC
-e BITRATE=320 FLAC -> OPUS/AAC/MP3 will be converted using this bitrate (MP3 320/128 is native, not converted)
-e ENABLEPOSTPROCESSING=true true = enabled :: enables or disables post processing processes as much as possible
-e FORCECONVERT=false true = enabled :: This will convert lossy MP3 to desired target format (exluding FLAC/ALAC, ALAC will convert to AAC)
-e requirequality=false true = enabled :: Requires all downloaded files match target file extension (mp3 or flac) when enabled
-e MatchDistance=10 Set as an integer, the higher the number, the more lenient it is. Example: A match score of 0 is a perfect match :: For more information, this score is produced using this function: Algorithm Implementation/Strings/Levenshtein distance
-e replaygain=true true = enabled :: Scans and analyzes files to add replaygain tags to song metadata
-e FolderPermissions=766 Based on chmod linux permissions
-e FilePermissions=666 Based on chmod linux permissions
-e MBRAINZMIRROR=https://musicbrainz.org OPTIONAL :: Only change if using a different mirror
-e MBRATELIMIT=1 OPTIONAL: musicbrainz rate limit, musicbrainz allows only 1 connection per second, max setting is 10 :: Set to 101 to disable limit
-e LidarrUrl=http://x.x.x.x:8686 Set domain or IP to your Lidarr instance including port. If using reverse proxy, do not use a trailing slash. Ensure you specify http/s.
-e LidarrAPIkey=LIDARRAPI Lidarr API key.
-e ARL_TOKEN=ARLTOKEN User token for dl client, use google...
-e NOTIFYPLEX=false true = enabled :: ONLY APPLIES ARTIST MODE :: Plex must have a music library added and be configured to use the exact same mount point as Lidarr's root folder
-e PLEXLIBRARYNAME=Music This must exactly match the name of the Plex Library that contains the Lidarr Media Folder data
-e PLEXURL=http://x.x.x.x:32400 ONLY used if NOTIFYPLEX is enabled...
-e PLEXTOKEN=plextoken ONLY used if NOTIFYPLEX is enabled...
-e ALBUM_TYPE_FILTER=COMPILE Filter Types: COMPILE, SINGLE, ALBUM, EP (this is a ", " separated list of Album Types to skip) (Applicable to artist mode only)
-e POSTPROCESSTHREADS=1 Controls number of threads used for Format conversion and replaygain tagging

Usage

Here are some example snippets to help you get started creating a container.

docker

docker create \
  --name=amd \
  -v /path/to/config/files:/config \
  -v /path/to/downloads:/downloads-amd \
  -e PUID=1000 \
  -e PGID=1000 \
  -e AUTOSTART=true \
  -e SCRIPTINTERVAL=1h \
  -e DOWNLOADMODE=wanted \
  -e FALLBACKSEARCH=True \
  -e LIST=both \
  -e SearchType=both \
  -e Concurrency=1 \
  -e EMBEDDED_COVER_QUALITY=80 \
  -e FORMAT=FLAC \
  -e BITRATE=320 \
  -e ENABLEPOSTPROCESSING=true \
  -e FORCECONVERT=false \
  -e requirequality=false \
  -e MatchDistance=10 \
  -e replaygain=true \
  -e FolderPermissions=766 \
  -e FilePermissions=666 \
  -e MBRAINZMIRROR=https://musicbrainz.org \
  -e MBRATELIMIT=1 \
  -e LidarrUrl=http://x.x.x.x:8686 \
  -e LidarrAPIkey=LIDARRAPI \
  -e ARL_TOKEN=ARLTOKEN	\
  -e NOTIFYPLEX=false \
  -e PLEXLIBRARYNAME=Music \
  -e PLEXURL=http://x.x.x.x:8686 \
  -e PLEXTOKEN=plextoken \
  -e ALBUM_TYPE_FILTER=COMPILE \
  -e POSTPROCESSTHREADS=1 \
  --restart unless-stopped \
  randomninjaatk/amd 

docker-compose

Compatible with docker-compose v2 schemas.

version: "2.1"
services:
  amd:
    image: randomninjaatk/amd 
    container_name: amd
    volumes:
      - /path/to/config/files:/config
      - /path/to/downloads:/downloads-amd
    environment:
      - PUID=1000
      - PGID=1000
      - AUTOSTART=true
      - SCRIPTINTERVAL=1h
      - DOWNLOADMODE=wanted
      - FALLBACKSEARCH=True
      - LIST=both
      - SearchType=both
      - Concurrency=1
      - EMBEDDED_COVER_QUALITY=80
      - FORMAT=FLAC
      - BITRATE=320
      - ENABLEPOSTPROCESSING=true
      - FORCECONVERT=false
      - requirequality=false
      - MatchDistance=10
      - replaygain=true
      - FolderPermissions=766
      - FilePermissions=666
      - MBRAINZMIRROR=https://musicbrainz.org
      - MBRATELIMIT=1
      - LidarrUrl=http://x.x.x.x:8686
      - LidarrAPIkey=LIDARRAPI
      - ARL_TOKEN=ARLTOKEN
      - NOTIFYPLEX=false
      - PLEXLIBRARYNAME=Music
      - PLEXURL=http://x.x.x.x:8686
      - PLEXTOKEN=plextoken
      - ALBUM_TYPE_FILTER=COMPILE
      - POSTPROCESSTHREADS=1
    restart: unless-stopped

Script Information

  • Script will automatically run when enabled, if disabled, you will need to manually execute with the following command:
    • From Host CLI: docker exec -it amd /bin/bash -c 'bash /scripts/download.bash'
    • From Docker CLI: bash /scripts/download.bash

Directories:

  • /config/scripts
    • Contains the scripts that are run
  • /config/logs
    • Contains the log output from the script
  • /config/cache
    • Contains the artist data cache to speed up processes
  • /config/deemix
    • Contains deemix app data

Lidarr Configuration Recommendations

Media Management Settings:

  • Disable Track Naming
    • Disabling track renaming enables synced lyrics that are imported as extras to be utilized by media players that support using them

Track Naming:

  • Artist Folder: {Artist Name}{ (Artist Disambiguation)}
  • Album Folder: {Artist Name}{ - ALBUM TYPE}{ - Release Year} - {Album Title}{ ( Album Disambiguation)}

Importing:

  • Enable Import Extra Files
    • lrc,jpg,png

File Management

  • Change File Date: Album Release Date

Permissions

  • Enable Set Permissions




Credits

More Repositories

1

docker-lidarr-extended

lidarr-extended :: Lidarr application packaged with multiple scripts to provide additional functionality
Shell
268
star
2

docker-radarr-extended

Radarr (develop) with bash scripts to automate and extend functionality.
Shell
92
star
3

docker-amtd

AMTD is a Radarr companion script to automatically download movie trailers and extras for use in other video applications (plex/kodi/jellyfin/emby)
Shell
92
star
4

docker-sonarr-extended

Sonarr (develop) with bash scripts to automate and extend functionality.
Shell
72
star
5

docker-amvd

AMVD is a Lidarr companion script to automatically download and tag Music Videos for use in other video applications (plex/kodi/jellyfin/emby)
Shell
69
star
6

arr-scripts

Extended Container Scripts - Automation scripts to make life easier!
Shell
43
star
7

lidarr-automated-downloader

Lidarr enhancement bash script to download releases
Shell
35
star
8

docker-raromprocessor

RA ROM Processor is a Docker container that is used to aquire/orgainze/process/verify/dedupe/scrape a ROMs library automatically by matching ROMs to the RetroAchievement.org website Hash database.
Shell
30
star
9

docker-lidarr-lad

Official docker for LAD bash enhancement script
Shell
22
star
10

docker-sabnzbd-extended

SABnzbd + sickbeard_mp4_automator (SMA) + audio/video scripts
Shell
18
star
11

docker-readarr-extended

Readarr (develop) with bash scripts to automate and extend functionality.
Shell
13
star
12

Scripts

Shell
12
star
13

docker-atd

Shell
12
star
14

docker-ama

AMA is a script to automatically download music for use in other audio applications (plex/kodi/jellyfin/emby)
Shell
12
star
15

docker-locast2tuner

A docker container for Locast2Tuner server.
Shell
8
star
16

docker-radarr-sma

Radarr + sickbeard_mp4_automator (SMA)
Shell
6
star
17

docker-ambd

AMBD is a script to automatically download and tag music (musicbrainz) for use in other audio applications (plex/kodi/jellyfin/emby)
Shell
5
star
18

docker-sonarr-sma

Radarr + sickbeard_mp4_automator (SMA)
Shell
4
star
19

docker-fhdhr

Docker Container for fun Home Distribution Hiatus Recreation (fHDHR)
Shell
3
star
20

unraid-templates

Repo for Docker Images published to the community applications store...
3
star
21

docker-sma-ba

Scan and automatically process files using sickbeard_mp4_automator (SMA)
1
star