Repo of the Day
lklynet/aurral
Published: Aug 30, 2026
Open repository ↗The best in open-source music discovery
Summary
Aurral is a self-hosted music discovery service written in JavaScript that runs as a Docker container and can operate on its own or alongside Lidarr. It bundles recommendations, playlist automation, library playback, and request/queue management into one web app, with integrations across many of the usual self-hosting pieces (Last.fm, ListenBrainz, Navidrome, Plex, Jellyfin, Prowlarr, yt-dlp, slskd, SABnzbd, NZBGet, deemix). The repository is MIT-licensed and ships container images from ghcr.io/lklynet/aurral.
What it is useful for
Engineers running a home media stack who want discovery features Lidarr does not provide. Concrete use cases documented in the README include:
- Personal recommendations, trends, tag browsing, and artist news/regional shows on the Discover page.
- Adopting existing discovery sources such as Release Radar, or importing playlists from Spotify, YouTube Music, Last.fm, and ListenBrainz, then converting "flows" into fixed tracklists.
- Monitoring specific artists for new albums without routing everything through Lidarr, while still letting Lidarr manage the rest of the library.
- Centralising download activity across yt-dlp, slskd, Usenet, and deemix with cancel/retry/upgrade controls and album Wanted views.
- Publishing playlists to Navidrome, Plex, Plexamp, and Jellyfin, or streaming the library in-browser via Subsonic/OpenSubsonic clients such as Feishin and Music Assistant.
It also supports multi-user setups with profiles, per-user discovery layouts, permissions, and authentication via local password, LAN auto-login, reverse-proxy SSO, OIDC, Google, or Plex.
How engineers can use it
The README ships a minimal docker-compose.yml you can drop into a directory:
services:
aurral:
image: ghcr.io/lklynet/aurral:latest
restart: unless-stopped
ports:
- "3001:3001"
environment:
- PUID=1000
- PGID=1000
volumes:
- ${MEDIA_ROOT:-/srv/media}:/data
- ./config:/config
Before running docker compose up -d, set MEDIA_ROOT to a real host path. If you already use Lidarr, the README is explicit: mount the same host folder Lidarr uses, keep /data as the container path, and reuse the same mapping for download clients and your media server. Aurral's Downloads Folder should then point to something like /data/downloads/aurral. After startup, open http://localhost:3001 to create the admin account and optionally connect Lidarr.
For the latest merged code, the README points to ghcr.io/lklynet/aurral:nightly, with a documented caveat that nightly builds can be less stable than releases. A fuller example stack including Lidarr, slskd, and Navidrome lives in docker-compose.example.yml; Plex users are directed to a dedicated setup guide. Full configuration details are not in the README itself, so anything not covered above should be looked up at docs.aurral.org.
The README also notes a hybrid development approach: foundations are hand-coded, while feature work follows developer-written specifications and any AI-generated code is reviewed before merge.