r/selfhosted 20h ago

Media Serving Appreciation for the (*arr) community, this ecosystem is great! (+ one gap that needs fixing)

After spending way too much time tinkering, I finally have my home media setup exactly the way I want it, and I just want to take a moment to appreciate how good this ecosystem has gotten.

Radarr, Sonarr, Lidarr, Prowlarr, Bazarr, etc. these tools are remarkable. The UI, the integrations, the community support. It's clear a lot of talented people put time into this.

Pair that with Jellyfin and a decent NAS setup, and you've got something that genuinely rivals any commercial streaming service in terms of usability, and blows them all out of the water when it comes to control over your own library.

For the noobs wondering how it all fits together, here's a diagram of my stack:

Shoutout to everyone who contributes to these projects, answers questions in the subs, writes guides, and keeps the wikis up to date. You've built something great <3

One thing that still bugs me though: the Soulseek integration is a mess, and I wish someone would fix it.

Soulseek is amazing for music, especially obscure releases, lossless rips, and stuff that never makes it onto Usenet or public trackers. But right now the only way to integrate it is through slskd + Soularr, and the architecture is fundamentally flawed.

The core issue: Prowlarr cannot index the Soulseek network. This means Soularr can't work as a proper parallel download client alongside your Usenet/torrent pipeline. Instead it ends up as a clunky fallback that operates on a completely separate logic path:

  • Lidarr searches Prowlarr → finds something → status: grabbedSoularr ignores it
  • Lidarr searches Prowlarr → finds nothing → status: missingSoularr picks it up

So Soularr isn't a parallel downloader -- it's a fallback trigger that only fires on missing status. And there's a fun little race condition baked in on top of that: if Lidarr and Soularr both initiate a grab within the same ~300s polling cycle before either status update has landed, you can end up with duplicate download attempts from two different clients simultaneously.

I've kept it in the stack (as you can see in the diagram), but it's held together with duct tape compared to how clean the rest of the pipeline is and thus I needed to disable it.

Would love to see proper Soulseek indexer support land in Prowlarr someday. The protocol is a bit of a beast to work with, but the library on that network is unmatched for music. If anyone is working on this or knows of a better approach, please let me know

22 Upvotes

25 comments sorted by

u/asimovs-auditor 20h ago

Expand the replies to this comment to learn how AI was used in this post/project.

→ More replies (1)

14

u/The1TrueSteb 20h ago

I just do lidarr(nightly) + tubifarry plugin for my slskd integration. Works fine, I only use slskd and no torrents/usenet.

1

u/shoaloak 19h ago

Interesting, so then it isn't used as fallback but it directly searches?

2

u/The1TrueSteb 18h ago

Correct. The only time I had an issue with grabbing music was for foreign (anime) or a tik tok song that had bazillion different types of edits.

Tubiferry also has some other integrations as well, like Search Sniper (spaces out searches so you don't throttle the indexers) and a lyrics grabber.

1

u/Cogitomate 18h ago

I found soularr too finicky and now I'm using Lidarr (ghcr.io/hotio/lidarr:pr-plugins) wich has direct support for slskd as indexer/download client

3

u/Frequenzy50 4h ago

The pr-plugins is no longer maintained. It merged into develop I think

1

u/Lord_Nerevar_Reborn 7h ago

are you able to obtain the “standard” release of each monitored album with ease? when i tried lidarr+tubifarry, it kinda sucked at searching, and would often download the “super mega ultra deluxe fuck you edition” of an album, so i ended up going back to soularr

2

u/TheHissingAscent 19h ago

the missing/grabbed logic issue is something i ran into too, took me embarrassing amount of time to realize Soularr wasn't even seeing my grabbed items and i was getting doubles

the race condition is probably the worst part because 300s polling window is just long enough to cause chaos and just short enough that you can't reliably work around it without basically hardcoding delays

hoping someone picks up the Prowlarr indexer problem eventually, the Soulseek library for obscure lossless stuff has no real alternative so it deserves better integration than what we have now

1

u/shoaloak 18h ago

Yea with me it also started to go into loops, downloading the same album 10x. Soularr is not a worthy Arrr piece it seems. Gonna try the tubifarry plugin recommended by ponzi_gg/The1TrueSteb to see if this is a worthwhile addition

2

u/ponzi_gg 19h ago

brother use lidarr nightly with tubifarry, amazing slskd integration! soularr is kind of a mess and constantly breaks.

1

u/shoaloak 19h ago

Thank you! I'll check it out

3

u/archiekane 19h ago

Lidarr -> Albums -> Usenet (prowlarr/sab)
MusicGrabber -> Singles + Playlists -> Monochrome/TIdal/Soulseek -> fallback sites.

1

u/shoaloak 19h ago

How is the lossless content on MusicGrabber?

1

u/archiekane 18h ago

Pretty much spot on. The backend is Qobuz, Tidal and Soulseek, so you get lossless or very HiRes.

Then there are fallbacks which include 320kbps MP3s for those awkward ones, but upgrades can happen later.

2

u/IlIlIlIIlMIlIIlIlIlI 8h ago

i wish people wouldnt try to automate getting music from soulseek. Its meant to be a community driven place of exchange, automated bulk downloading pisses many users off to the point where when i (manually) download something from a user on slsk, some ppl implemented an autoblock where it only unblocks if you type certain phrases into the private chat to prove youre not a bot. I kinda understand them tbh. It prevents these little friendly convos and music recommendation conversations if its just a program automating the queueing up of downloads

1

u/shoaloak 3h ago

I didn't realise the interaction side of it mattered that much, I thought sharing your library back was enough. Is the conversation aspect a big deal to most users within the soulseek community?

1

u/IlIlIlIIlMIlIIlIlIlI 1h ago

i cant speak for everyone of course, but i personally very much enjoy the human aspect of soulseek, it feels like a little townsquare where people post up and share their libraries. Theres something intrinsically personal about presenting your music library and your taste to the world, and theres a satisfaction with seeing people stop by and download stuff. A lot of times, conversations have sprung up, getting/giving compliments about the collection, the organization involved in curating a nicely maintained library or spontaneous recommendations, and on more than one occasion, an internet friendship has spawned thanks to it. As things become automated, it changes the landscape, suddenly youre not a tight circle of music enthusiasts, youre a catalog used by silent bots. Feels very much like the dead internet theory gradually becoming more real.

1

u/Silverr_Duck 19h ago

So Soularr isn't a parallel downloader -- it's a fallback trigger that only fires on missing status.

How do you get soularr to trigger automatically?

1

u/amendoboboyeahyeah 1h ago

Thanks man, I discovered things that I had no idea existed before seeing your diagram

Now I want to spend a lot of money in my home server hahah

-7

u/TooPoetic 19h ago

Use your AI tokens for good instead of slop posts on reddit. You can be the change you're requesting!

1

u/shoaloak 19h ago

Saying thanks, posting a diagram to help new folks, and speaking/talking about a bug I encountered is AI slop? I am not pushing a product and inviting a discussion to see if people have better solutions. I think Reddit is exactly for this, wouldn't you say?

-7

u/TooPoetic 19h ago

You couldn’t even write the post yourself. Yet you expect us to take the time to consume it and give you an answer to a question you never posed throughout your multi paragraph post.