Hey everyone,

I’m new here! I wanted to share a music search and discovery tool for Lidarr. It plugs into Spotify, TIDAL, Deezer, Last.fm, MusicBrainz, Plex/Tautulli, Jellyfin, and even some AI recommendations.

GitHub: https://github.com/aquantumofdonuts/mixarr/releases/tag/latest

Website: https://aquantumofdonuts.github.io/mixarr/

What it does:

  • Connects to Lidarr and analyzes your existing artists
  • Hooks into Spotify, TIDAL, Deezer, Last.fm, MusicBrainz, Plex/Tautulli, and AI services
  • Finds related/similar artists, new releases, charts, labels, playlists, etc.
  • Gives you a review queue to approve or dismiss discovered artists
  • Automatically adds approved artists to Lidarr with the profile you choose
  • Has a universal search and discovery interface across all services
  • Runs as a web app (Next.js frontend + Express backend) and plays nice with Docker

Why I built it:

I wanted one tool that I could point at my Lidarr library and get a steady stream of relevant artist recommendations.

Basically, make music discovery feel as automated and “infrastructure-y” as the rest of the *arr ecosystem.

Current status:

  • Working with Lidarr + Spotify/TIDAL/Deezer/Last.fm/MusicBrainz + Plex/Tautulli
  • Has subscriptions for different discovery sources (charts, playlists, related & followed artists, etc.)
  • Docker-compose setup available, plus local dev if you prefer
  • Early but usable; I’m actively using it myself and iterating

If you try it, I’d love to hear any feedback! Thanks!

    • NarrativeBear@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      3 days ago

      I am running in docker, I got 443 pointed at 3443.

      I saw the 3010 setting in the docs, i just can’t figure out if 3010 is pointed at 80?

      • aquantumofdonuts@lemmy.worldOP
        link
        fedilink
        English
        arrow-up
        2
        ·
        3 days ago

        3010 is the web port, on the web container itself (direct connection the the web ui). 3443->443 and 3080->80 are the Caddy ports, which also point to the web ui (just proxied through Caddy). Hopefully that’s not too confusing.

        • NarrativeBear@lemmy.world
          link
          fedilink
          English
          arrow-up
          1
          ·
          edit-2
          2 days ago

          Understood, though it’s still kicking my butt TBH.

          Exposing port 3010:3010 seems to get me a connection refused. But I can still connect to port 3443:443. Both ports are set to TCP.

          Guess I’m just exhausted, will play around with it more tomorrow. Thanks for your help.

            • Statick@lemmy.world
              link
              fedilink
              English
              arrow-up
              1
              ·
              edit-2
              2 days ago

              First, thank you for making this. Seems very useful… That being said I’m having the same issue, even after mapping port 80, it redirects to https/443 no matter what I do.

              services:
                mixarr:
                    container_name: mixarr
                    image: ghcr.io/aquantumofdonuts/mixarr:v1.1.0
                    ports:
                      - 3010:80 # Edit: change 80 to 3000 in order to bypass caddy in the container
                      - 3443:443
                    volumes:
                      - ~/mixarr-data:/data
                    environment:
                      - SESSION_SECRET=$(openssl rand -hex 32)
                      - FRONTEND_URL=https://my-domain:3443/
                      - BASE_URL=http://my-domain:3010/
                    restart: unless-stopped
              

              Edit: Just realized you have it using caddy, always, and it is set to redirect to 443. You should give people the option to run without caddy in the container. I have my own instance of caddy running, I don’t need it built in.

              That being said, changing it from pointing to port 80 and instead to port 3000 allows me to access it over http but ends up having authenticaton issues when trying to change settings.

              Edit 2: Oh there is a much more robust docker-compose file. I was just going based on the readme. Will give it a try a bit later.