Skip to content

iuliandita/digarr

Digarr

digarr

CI License: MIT Bun TypeScript Docker Tests Release

*AI-powered music discovery for your arr stack. Connect your listening sources (ListenBrainz, Last.fm, Spotify, Plex, Jellyfin, Discogs), pick an AI provider, and Digarr builds a taste profile, discovers new artists through a 7-stage pipeline, and scores them with a weighted formula that learns from your feedback. Approve what you like -- artists go straight to Lidarr, Spotify playlists, or your media server. Describe a mood in plain English and get instant results. Set up subscriptions that discover new music on a schedule while you sleep. Generate weekly digest playlists automatically. Browse your library by genre with deep-cut discovery. All self-hosted, all yours.

Beta software -- working toward v1.0. Usable and actively developed, but expect rough edges. Things move fast during the beta -- there may be several releases per day with bug fixes, new features, and improvements. Check the releases page frequently and read the release notes before updating. We'd love your help: set it up, break things, report issues, and share your feature ideas.

Free and open source, forever. No tracking, no telemetry, no data collection -- your music taste stays on your server.

Dashboard

More screenshots


Note

Built with AI. Digarr is built with the help of agentic AI coding tools. A human drives the roadmap, designs the architecture, makes every feature decision, and reviews the output -- but the code and tests are largely AI-generated. All output is reviewed for security issues and generic AI slop before it ships. This is stated upfront because transparency matters. If that's a dealbreaker for you, no hard feelings.


What Makes Digarr Different

7-Stage AI Pipeline

Not just "here are similar artists." Digarr collects your taste from up to 6 sources, asks an AI to reason about what you'd like and why, scores candidates with a configurable weighted formula, deduplicates across batches, and learns from your approve/reject feedback over time.

Mood Discovery

Type "something like Boards of Canada but darker" or "upbeat 90s pop for a road trip" and get instant AI-powered results. No menus, no filters -- just plain English.

Auto-Playlists

Generate curated playlists from your approved recommendations and push them to Navidrome, Jellyfin, Plex, or export as M3U/XSPF. Four strategies: Weekly Digest, Genre Focus, Mood Mix, and Rediscover.

Your AI, Your Choice

Anthropic, OpenAI, Google Gemini, Ollama (local, free), or any OpenAI-compatible endpoint. Every recommendation includes a written explanation of why the artist matches your taste.

Lidarr Optional

Works without Lidarr in pure discovery mode. When connected, approved artists get added with your preferred quality/metadata profiles. Also supports Spotify playlist, Navidrome, Jellyfin, and Plex as approval targets.

Cross-Platform Search

Search for artists across Spotify, Deezer, MusicBrainz, TIDAL, and Bandcamp simultaneously. Results are deduplicated and merged. One-click Quick Discover on any result.


Features

  • 6 data sources -- ListenBrainz, Last.fm, Spotify (OAuth), Plex, Jellyfin, Discogs
  • Smart scoring -- weighted composite: consensus, similarity, genre overlap, AI confidence, feedback learning, popularity
  • Auto-approve -- automatically add high-scoring recs to your targets
  • Subscriptions -- scheduled discovery from Spotify playlists/charts, Last.fm tags/charts, ListenBrainz feeds, genre searches, similar-artist seeds
  • Genre deep dive -- browse by genre with Recommended, Trending, and Deep Cuts tabs
  • Library health -- 6 automated checks with one-click batch fixes
  • Analytics -- approval rates, genre trends, source effectiveness, score distribution, time-to-act
  • Top tracks -- Deezer 30-sec previews on recommendation cards with MusicBrainz fallback
  • Decade filtering -- filter recommendations by era (60s through 20s+) with toggle pills
  • Music previews -- Spotify embeds, Deezer clips, YouTube on recommendation cards
  • OIDC/SSO + multi-user -- per-user queues, sources, scoring weights, and target configs
  • Swipe-to-approve on mobile, card-stack mode on desktop
  • Webhook notifications -- Discord, Slack, ntfy, Gotify, or any HTTP endpoint
  • 15 color themes -- editor classics + streaming-service-inspired *arr themes, dark and light
  • Export -- JSON, CSV, M3U, XSPF
  • Self-hosted -- single container, runs alongside your existing *arr stack

Quick Start

mkdir digarr && cd digarr
curl -LO https://raw.githubusercontent.com/iuliandita/digarr/main/deploy/docker/docker-compose.yml
curl -LO https://raw.githubusercontent.com/iuliandita/digarr/main/deploy/docker/.env.example
cp .env.example .env
# Edit .env -- set DB_PASS at minimum
docker compose up -d

Open http://localhost:3000 and complete the setup wizard. Alternatively, fill in the service env vars in .env and setup completes automatically on first boot. Database migrations run automatically on every startup.

For local development, see CONTRIBUTING.md.


How It Works

Digarr runs a 7-stage recommendation pipeline:

  1. Collect -- fetches your Lidarr library (or skips in discovery mode)
  2. Analyze -- builds a taste profile from all connected sources
  3. Discover -- queries Last.fm similar, Discogs genres, AI recommendations, and library seeds
  4. Resolve -- validates against MusicBrainz, fetches metadata/images, genre-aware disambiguation
  5. Score -- weighted composite formula with configurable weights
  6. Filter -- removes library duplicates, rejected artists (with cooldown), low scores
  7. Store -- persists batch and recommendations

Runs on a cron schedule, manually, or via subscriptions for targeted discovery.


Requirements

Service Required Purpose
Lidarr Optional Music library management + auto-download
Listening source At least one ListenBrainz, Last.fm, Spotify, Plex, Jellyfin, or Discogs
AI Provider Yes Anthropic, OpenAI, Gemini, Ollama, or any compatible endpoint
PostgreSQL Yes Data storage (included in Docker Compose)

Configuration

All configuration is done through the web UI after initial setup -- connections, scoring weights, cron schedule, and preferences are all set there. See .env.example for the full list of environment variable fallbacks (useful for zero-touch Docker deployments).


Deployment

Method Path Notes
Docker Compose deploy/docker/ Recommended. Includes PostgreSQL. Also on Docker Hub.
Helm chart deploy/helm/digarr/ Kubernetes. Bundled PostgreSQL or bring your own.
Raw k8s manifests deploy/k8s/ Reference manifests for advanced setups.
Unraid deploy/unraid/ Community Applications template. Requires external PostgreSQL.
Synology NAS docs/guides/synology.md DSM 7.1+ (Docker/Container Manager). SSH or GUI.
Docker Desktop docs/guides/docker-desktop.md macOS and Windows (WSL 2).

Friends

Other self-hosted music discovery projects worth checking out -- each takes a different approach:

Project Approach
Lidify The OG. Lidarr library + Last.fm similar artists. Simple, focused.
Aurral Last.fm tag similarity + Weekly Flow playlists via Soulseek/Navidrome.
MixArr 56 subscription types across 12 services. Widest net in the space.
Curatorr Behavior-first. Scores artists on skips/play completion, not tags.
Brainarr Native Lidarr plugin. Privacy-first with local AI.
Sonobarr Last.fm discovery with optional AI assistant. Real-time UI.
Explo Discover Weekly for self-hosted. ListenBrainz recs to your media server.
MusicMoveArr Datasets MB/Spotify/Deezer/Tidal datasets -- used by Digarr for genre enrichment.

Contributing

See CONTRIBUTING.md.


License

MIT -- see LICENSE.


Star History

Star History Chart

About

AI-powered music discovery for your *arr stack. Analyzes listening history, discovers artists through a 7-stage AI pipeline, scores and ranks them, and learns from your feedback. Supports Lidarr, Spotify, Navidrome, Jellyfin, Plex. Self-hosted, open source.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors