Skip to content

timc6896/ama-fork

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Deprecated

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



AMA - Automated Music Archiver

RandomNinjaAtk/ama is a script to automatically archive music for use in other audio applications (plex/kodi/jellyfin/emby)

RandomNinjaAtk/ama

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.

Parameter Function
-e PUID=1000 for UserID - see below for explanation
-e PGID=1000 for GroupID - see below for explanation
-v /config Configuration files for AMA
-v /downloads-ama Downloaded library location
-e AUTOSTART=true true = Enabled :: Runs script automatically on startup
-e SCRIPTINTERVAL=15m #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 MODE=artist artist or discography :: artist mode downloads all albums listed as that artist, discography downloads all albums listed as that artist and featured in albums
-e RELATED_ARTIST=false true = enabled :: Enabling this lets the script crawl your artist list for related artists and process them
-e RELATED_ARTIST_RELATED=false true = enabled :: Enabling this lets the script crawl your related artists for additional related artists and process them accordingly :: WARNING this will cause an endless loop (spider crawling) until no more are found...
-e RELATED_COUNT=20 Maximum number of related artists to import per artist (20 is max)
-e FAN_COUNT=1000000 Minimum number of fans required for processing
-e CONCURRENT_DOWNLOADS=1 Controls download concurrency
-e EMBEDDED_COVER_QUALITY=80 Controls the quality of the cover image compression in percentage, 100 = no compression
-e FORMAT=FLAC SET TO: ALAC or FLAC or AAC or MP3 or OPUS
-e BITRATE=320 FLAC -> OPUS/AAC/MP3 will be converted using this bitrate
-e FORCECONVERT=false true = enabled :: This will convert lossy MP3 to desired target format (exluding FLAC/ALAC, ALAC will convert to AAC)
-e POSTPROCESSTHREADS=1 Controls number of threads used for Format conversion and replaygain tagging
-e ALBUM_TYPE_FILTER=COMPILE Filter Types: COMPILE, SINGLE, ALBUM, EP (this is a ", " separated list of Album Types to skip)
-e REQUIRE_QUALITY=false true = enabled :: Requires all downloaded files match target file extension (mp3 or flac) when enabled
-e REPLAYGAIN=true true = enabled :: Scans and analyzes files to add replaygain tags to song metadata
-e IGNORE_ARTIST_WITHOUT_IMAGE=false true = enabled :: Enabling this will prevent downloading albums from artists with default image (non-unique)
-e COMPLETE_MY_ARTISTS=false true = enabled :: Eanabling this will add artist id's found in the library directory that are currently not in your list. This will then allow the script archive them accordingly :: !!!WARNING!!! Could cause an endless loop!
-e FILE_PERMISSIONS=644 Based on chmod linux permissions
-e FOLDER_PERMISSIONS=755 Based on chmod linux permissions
-e ARL_TOKEN=ARLTOKEN User token for dl client, for instructions to obtain token: https://notabug.org/RemixDevs/DeezloaderRemix/wiki/Login+via+userToken
-e LIDARR_LIST_IMPORT=true true = enabled :: imports artist list from lidarr
-e LIDARR_URL=http://x.x.x.x:8686 ONLY used if Lidarr List Import is enabled...
-e LIDARR_API_KEY=08d108d108d108d108d108d108d108d1 ONLY used if Lidarr List Import is enabled...
-e NOTIFYPLEX=true true = enabled :: Plex must have a library added and be configured to use the exact same mount point (/downloads-ama)
-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...

Usage

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

docker

docker create \
  --name=ama \
  -v /path/to/config/files:/config \
  -v /path/to/downloads:/downloads-ama \
  -e PUID=1000 \
  -e PGID=1000 \
  -e AUTOSTART=true \
  -e SCRIPTINTERVAL=1h \
  -e MODE=artist \
  -e RELATED_ARTIST=false \
  -e RELATED_ARTIST_RELATED=false \
  -e RELATED_COUNT=20 \
  -e FAN_COUNT=1000000 \
  -e CONCURRENT_DOWNLOADS=1 \
  -e EMBEDDED_COVER_QUALITY=80 \
  -e FORMAT=FLAC \
  -e BITRATE=320 \
  -e FORCECONVERT=false \
  -e POSTPROCESSTHREADS=1 \
  -e ALBUM_TYPE_FILTER=COMPILE \
  -e REQUIRE_QUALITY=false \
  -e REPLAYGAIN=true \
  -e IGNORE_ARTIST_WITHOUT_IMAGE=false \
  -e COMPLETE_MY_ARTISTS=false \
  -e FILE_PERMISSIONS=644 \
  -e FOLDER_PERMISSIONS=755 \
  -e LIDARR_LIST_IMPORT=false
  -e LIDARR_URL=http://x.x.x.x:8686 \
  -e LIDARR_API_KEY=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/ama 

docker-compose

Compatible with docker-compose v2 schemas.

version: "2.1"
services:
  amd:
    image: randomninjaatk/ama 
    container_name: ama
    volumes:
      - /path/to/config/files:/config
      - /path/to/downloads:/downloads-ama
    environment:
      - PUID=1000
      - PGID=1000
      - AUTOSTART=true
      - SCRIPTINTERVAL=1h
      - MODE=artist
      - RELATED_ARTIST=false
      - RELATED_ARTIST_RELATED=false
      - RELATED_COUNT=20
      - FAN_COUNT=1000000
      - CONCURRENT_DOWNLOADS=1
      - EMBEDDED_COVER_QUALITY=80
      - FORMAT=FLAC
      - BITRATE=320
      - FORCECONVERT=false
      - POSTPROCESSTHREADS=1
      - ALBUM_TYPE_FILTER=COMPILE
      - REQUIRE_QUALITY=false
      - IGNORE_ARTIST_WITHOUT_IMAGE=false
      - COMPLETE_MY_ARTISTS=false
      - REPLAYGAIN=true
      - FOLDER_PERMISSIONS=755
      - FILE_PERMISSIONS=644
      - LIDARR_LIST_IMPORT=false
      - LIDARR_URL=http://x.x.x.x:8686
      - LIDARR_API_KEY=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 ama /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/list
    • Contains the artist id file's named deezerid for processing
  • /config/ignore
    • Contains the artist id file's named deezerid to ignore
  • /config/deemix
    • Contains deemix app data




Credits

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

No packages published