hera

hera

Docker app from athuull's Repository

Overview

Hera is a self-hosted music recommendation and automated downloader service powered by Last.fm and Downtify. Discover new music tailored to your listening taste, download tracks, albums, or playlists, and synchronize your local music library.

Hera

A self-hosted music recommendation and automated downloader service powered by Last.fm and Downtify. Hera automatically discovers new music tailored to your listening taste, provides direct song and link downloading, and manages your local audio library.

Features

  • Automated Cron Downloads: Runs on a configurable schedule (e.g. nightly) to fetch personalized recommendations and download new tracks automatically up to a daily limit.
  • Direct Song & Artist Search: Search songs by name with instant track details, cover art preview, and single-click downloading.
  • Link & Stream Ingestion: Paste Spotify or web links (tracks, albums, playlists) for seamless automated downloading.
  • Personalized Recommendation Modes:
    • Hybrid: Blends recent scrobbles, top artists, and listening genres.
    • Top Artists: Discovers tracks similar to your most-played artists.
    • Recent Scrobbles: Finds music similar to tracks you recently listened to.
    • Top Genres / Tags: Recommends tracks from your favorite genres.
    • Manual Exploration: Search directly by artist name, track similarity, or genre tags.
  • Intelligent Library Deduplication: Multi-tier deduplication indexing (exact title normalization, unicode support, distinctive title extraction, and artist matching) across local files and ID3 tags before downloading to avoid duplicates.
  • Download History & Telemetry: Full audit trail recording downloaded, skipped, and failed tracks with timestamps and reason logging.
  • Format & Metadata Management: Configurable output formats (MP3 up to 320kbps CBR, FLAC, M4A, Opus), custom cover art resolution, synced lyrics (.lrc), and automatic .webm to .mp3 format cleanup via ffmpeg.
  • Real-time Progress Dashboard: Terminal-styled minimalist web interface with live dual-progress HUDs (track & batch level) and WebSocket activity feed.

Quick Start

Docker Compose

services:
  downtify:
    image: henriquesebastiao/downtify:latest
    container_name: hera-downtify
    volumes:
      - ${MUSIC_DIR:-./music}:/downloads
    networks:
      - hera-net
    restart: unless-stopped

  hera:
    image: athuul/hera:latest
    container_name: hera
    depends_on:
      - downtify
    ports:
      - "8080:8080"
    environment:
      - DOWNTIFY_API_URL=http://downtify:8000
      - MUSIC_DOWNLOAD_DIR=/music/downloads
      - APP_CONFIG_DIR=/config
    volumes:
      - ${MUSIC_DIR:-./music}:/music/downloads
      - ${CONFIG_DIR:-./config}:/config
    networks:
      - hera-net
    restart: unless-stopped

networks:
  hera-net:
    driver: bridge

By default, downloads save to ./music and configuration to ./config. To customize these paths, copy .env.example to .env (or set MUSIC_DIR and CONFIG_DIR):

cp .env.example .env
# Edit MUSIC_DIR=/path/to/your/music and CONFIG_DIR=/path/to/your/config

Start with:

docker compose up -d

Open http://localhost:8080 and enter your Last.fm API key and username in the settings panel.

Configuration

Settings can be managed directly in the web UI (saved to /config/settings.json) or set via environment variables:

Variable Default Description
DOWNTIFY_API_URL http://localhost:8000 URL of the Downtify backend
MUSIC_DOWNLOAD_DIR /music/downloads Path to downloaded music folder
APP_CONFIG_DIR ./ Path where settings.json is stored
LASTFM_API_KEY (empty) Last.fm API key
LASTFM_USERNAME (empty) Last.fm username
CRON_SCHEDULE 0 0 2 * * * Cron expression for auto-download schedule

Acknowledgments

  • Backend downloading powered by Downtify by Henrique Sebastião.
  • Recommendations powered by the Last.fm API.

Media gallery

1 / 4

Install Hera on Unraid in a few clicks.

Find Hera in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.

Open the Apps tab on your Unraid server Search Community Apps for Hera Review the template variables and paths Click Install

Requirements

Requires Downtify (henriquesebastiao/downtify) running and accessible on the network on port 8000.

Download Statistics

947
Total Downloads

Related apps

Details

Repository
athuul/hera:latest
Last Updated2026-09-13
First Seen2026-09-13

Runtime arguments

Web UI
http://[IP]:[PORT:8080]
Network
bridge
Privileged
false

Template configuration

WebUIPorttcp

HTTP port for the Hera Web UI

Target
8080
Default
8080
Music Downloads DirectoryPathrw

Directory where downloaded audio files are stored (must match Downtify's download folder)

Target
/music/downloads
Default
/mnt/user/data/media/music
App ConfigurationPathrw

Persistent directory for Hera settings and history

Target
/config
Default
/mnt/user/appdata/hera
TimezoneVariable

Container timezone (e.g. America/New_York, Europe/London, Asia/Kolkata)

Target
TZ
Default
Etc/UTC
Downtify API URLVariable

URL to the Downtify backend container

Target
DOWNTIFY_API_URL
Default
http://[IP]:8000
Last.fm API KeyVariable

Your Last.fm API Key (can also be entered in the WebUI)

Target
LASTFM_API_KEY
Last.fm UsernameVariable

Your Last.fm Username (can also be entered in the WebUI)

Target
LASTFM_USERNAME
Cron ScheduleVariable

Cron expression for automated nightly download pipeline

Target
CRON_SCHEDULE
Default
0 0 2 * * *