selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

GitHub
sonobarr logo

Self-host sonobarr

0.13.0

Music discovery for Lidarr using Last.fm and ListenBrainz

BetaOpen SourceMIT
Updated9 hours ago
LanguagePython
Setup difficultyModerate
Stars
384
Port
5000 (HTTP web interface)
Requires
Last.fm API, Lidarr
Docker
ghcr.io/dodelidoo-labs/sonobarr
Install with Docker Compose
Login windowProfile settingsUser administrationConfiguration pageConfiguration page (second view)AI Assist modalArtist suggestions gridPre Hear preview modal

What is sonobarr?

Sonobarr is a self-hosted music discovery application designed for Lidarr users. It connects to your Lidarr instance and uses Last.fm's similarity graph plus ListenBrainz weekly exploration playlists to suggest new artists you might like. The app runs as a Flask and Socket.IO backend with a Bootstrap-based web frontend, providing real-time discovery sessions that stream artist cards to the browser. Key capabilities include deep Lidarr integration for syncing monitored artists and adding discoveries back to your library, an AI assistant that accepts natural-language prompts via any OpenAI-compatible API, a request workflow where non-admin users can request artists for admin approval, per-user API keys for Last.fm, YouTube, and LLM providers with fallback to global keys, OIDC single sign-on with group-based admin assignment, and a hardened configuration system with atomic writes and CSRF protection. Deployment is Docker-first via an official GHCR image with rootless UID/GID mapping, persistent SQLite storage in a config volume, and automatic database migrations on startup. The app requires a Lidarr instance and Last.fm API credentials to function.

Should you self-host sonobarr?

sonobarr scores 48/100 on selfhost.directory (how scoring works) and ranks #16 of 31 in Music. It has 384 GitHub stars.

It shipped 5 stable releases in the past year. The latest, 0.13.0, came out on 9 September 2026. New versions land roughly every 2 months.

Setup is moderate: expect some configuration beyond a single command. An official Docker image is available. It is MIT-licensed and written mostly in Python.

Its closest alternative on selfhost.directory is Beets (77/100, 15 857 stars). It scores higher overall, so compare the two before you pick. See sonobarr vs Beets side by side.

Features

  • AI-assisted discovery
  • Artist request workflow
  • Docker-First Deployment
  • Hardened Configuration
  • Last.fm discovery
  • ListenBrainz playlists
  • OIDC Single Sign-On
  • Per-user API keys
  • Preview and context panels
  • Public REST API
  • Real-time updates
  • Role-based Access Control
  • Update and schema self-healing

sonobarr README

How to install sonobarr

Install sonobarr with Docker Compose

mkdir -p sonobarr && cd sonobarr sudo chown -R 1000:1000 . curl -L https://raw.githubusercontent.com/Dodelidoo-Labs/sonobarr/develop/docker-compose.yml -o docker-compose.yml curl -L https://raw.githubusercontent.com/Dodelidoo-Labs/sonobarr/develop/.sample-env -o .env

Edit .env with required keys

docker compose up -d

Requires Docker Engine ≥ 24 and Docker Compose plugin. Default port 5000.

sonobarr releases & version history

FAQ

Artists fail to add to Lidarr

Check the container logs for the Lidarr error payload. Common causes are incorrect root_folder_path, missing write permissions on the Lidarr side, or duplicate artists already present.

UI says "Update available" even though I pulled latest

The footer compares your runtime release_version with the GitHub Releases API once per hour. If you built your own image, set RELEASE_VERSION at build time.

The container exits with "SECRET_KEY environment variable is required"

Ensure your Compose file references the .env file via env_file: and that .env contains a non-empty secret_key. Without it, Flask cannot sign sessions.

More in Music

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…