Sign inSign up

cmcooper1980/amd

By cmcooper1980

Updated about 6 years ago
Archived

Lidarr companion script to automatically download music for Lidarr.

Image
0

428

cmcooper1980/amd repository overview

AMD - Automated Music Downloader

cmcooper1980/amd is wholly based on RandomNinjaAtk/amd which is a Lidarr companion script to automatically download music for Lidarr. The difference in this fork is to include support not only for x86-64 but also added support for both ARM and ARM64 architectures.

cmcooper1980/amd

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:

ArchitectureTagDescription
x86-64, ARMv7, ARMv64latestNewest release code multi-architecture
x86-64x86-64x86-64 architecture (ex: Intel/AMD CPUs with 64-bit instruction set)
ARMv7armARMv7 32-bit architecture (ex: Raspberry Pi)
ARMv8arm64ARMv8 64-bit architecture (ex: Raspberry Pi 64-bit OS)

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. As this is based/forked from RandomNinjaAtk, see his wiki to understand how it works.

ParameterFunction
-v /configConfiguration files for Lidarr.
-v /downloads-amdPath 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=1000for UserID - see below for explanation
-e PGID=1000for GroupID - see below for explanation
-e AUTOSTART=truetrue = 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=wantedwanted 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 LIST=bothboth or missing or cutoff :: both = missing + cutoff :: missng = lidarr missing list :: cutoff = lidarr cutoff list
-e SearchType=bothboth 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=1Number of concurrent downloads
-e FORMAT=FLACFLAC or MP3 or OPUS or AAC or ALAC
-e BITRATE=320FLAC -> OPUS/AAC/MP3 will be converted using this bitrate (MP3 320/128 is native, not converted)
-e requirequality=falsetrue = enabled :: Requires all downloaded files match target file extension (mp3 or flac) when enabled
-e MatchDistance=10Set as an integer, the higher the number, the more lienet 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=truetrue = enabled :: Scans and analyzes files to add replaygain tags to song metadata
-e FolderPermissions=766Based on chmod linux permissions
-e FilePermissions=666Based on chmod linux permissions
-e MBRAINZMIRROR=https://musicbrainz.orgOPTIONAL :: Only change if using a different mirror
-e MBRATELIMIT=1OPTIONAL: 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:8686Set 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=LIDARRAPILidarr API key.
-e ARL_TOKEN=ARLTOKENUser token for dl client, for instructions to obtain token: https://notabug.org/RemixDevs/DeezloaderRemix/wiki/Login+via+userToken
-e NOTIFYPLEX=falsetrue = 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=MusicThis must exactly match the name of the Plex Library that contains the Lidarr Media Folder data
-e PLEXURL=http://x.x.x.x:32400ONLY used if NOTIFYPLEX is enabled...
-e PLEXTOKEN=plextokenONLY used if NOTIFYPLEX is enabled...

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 LIST=both \
  -e SearchType=both \
  -e Concurrency=1 \
  -e FORMAT=FLAC \
  -e BITRATE=320 \
  -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 \
  --restart unless-stopped \
  randomninjaatk/amd 
docker-compose

Compatible with docker-compose v2 schemas.

version: "2.1"
services:
  amd:
    image: cmcooper1980/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
      - LIST=both
      - SearchType=both
      - Concurrency=1
      - FORMAT=FLAC
      - BITRATE=320
      - 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
    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 /config/scripts/download.bash'
    • From Docker CLI: bash /config/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

Tag summary

Content type

Image

Digest

Size

227.9 MB

Last updated

about 6 years ago

docker pull cmcooper1980/amd