Self-hosted music discovery: finds artists and albums for Lidarr, slskd, and playlists.
100K+
Self-hosted music discovery for your library. Digarr finds artists and albums from your listening history or a mood. Review the suggestions, listen to previews, then send what you like to Lidarr, slskd, or a playlist. Bring your own AI provider or local model. Lidarr is optional.
Source, docs, and issues: github.com/iuliandita/digarr

| Use | Services |
|---|---|
| Taste-profile sources | ListenBrainz, Last.fm, Spotify, Deezer, Plex, Jellyfin, Emby, Subsonic, Discogs |
| Library sync | Lidarr, Plex, Jellyfin, Emby, Subsonic |
| Approval and acquisition | Lidarr, slskd |
| Playlist export | Spotify, Navidrome, Jellyfin, Emby, Plex |
| AI recommendations | Anthropic, OpenAI, Gemini, Ollama, OpenAI-compatible endpoints |
| Notifications | Webhooks, ntfy, Telegram, Apprise |
Digarr calls your connected services. It doesn't include a downloader or a full music player.
One container with the embedded PostgreSQL database (PGlite):
mkdir digarr && cd digarr &&
(set -C; umask 077 && key=$(openssl rand -hex 32) && printf 'DIGARR_ENCRYPTION_KEY=%s\n' "$key" > digarr.env) &&
docker run -d --name digarr --restart unless-stopped -p 127.0.0.1:3000:3000 \
--env-file ./digarr.env \
-e ALLOWED_ORIGIN=http://localhost:3000 \
-e DIGARR_ALLOW_INSECURE_COOKIES=true \
-v digarr-data:/app/data -v digarr-backups:/app/backups \
docker.io/iuliandita/digarr:latest
Open http://localhost:3000, create the first account (it becomes admin; passwords need 12 characters), and complete setup. Keep digarr.env: losing DIGARR_ENCRYPTION_KEY means re-entering saved credentials.
This example is local-only HTTP. For access from other devices, set ALLOWED_ORIGIN to your HTTPS URL and drop DIGARR_ALLOW_INSECURE_COOKIES; see public origin and reverse proxies. For Compose with a bundled PostgreSQL, backups, and updates, follow the Docker guide.
| Setting | Value |
|---|---|
| Port | 3000 |
| Volumes | /app/data (PGlite database), /app/backups (pre-migration backups) |
| Required | DIGARR_ENCRYPTION_KEY, ALLOWED_ORIGIN |
| External database | DATABASE_URL, PostgreSQL 15 or newer |
| Unattended first boot | DIGARR_INITIAL_USERNAME and DIGARR_INITIAL_PASSWORD |
| Health | GET /health reports version, commit, and channel |
| Tag | Contents |
|---|---|
latest | Newest release. Only the newest release receives security fixes. |
2.1, 2.1.0 | A release line, or one pinned release |
stable | A release that has been live for at least seven days without a follow-up patch |
debian, 2.1.0-debian, stable-debian | Debian/glibc variant; Alpine is the default |
Images are multi-arch (amd64, arm64), cosign-signed, and ship SBOMs; see verifying image signatures. Nightly builds of the development branch are published to ghcr.io/iuliandita/digarr:nightly only.
Also available as a Helm chart, in the Unraid Community Applications store, and for Synology.
MIT. Made by Iulian Dita.
Content type
Image
Digest
sha256:47fea1fe6…
Size
56.4 MB
Last updated
9 days ago
docker pull iuliandita/digarr