I am almost done building my first self hosted streambox through Docker. That’s a total of 16 instances, each fulfilling 1 specific role.
As I’m new to the *arr world, could you please help me understand why it is standard to deploy multiple *arr services for each media type (ex: readarr1 for books + readarr2 for audiobooks) instead of using 1 that does multiple media types?
Thank you.
Because no one creates one that will work on many media types.
The source information and structure of the media types can be quite different, you can’t just add books to sonarr for example. It’s often better with niche tools that to one thing well than some huge bloated software that does everything poorly.
Maybe one day someone will create what you are asking for.
In the software world, based on personal experience and the UNIX philosophy, software should aim to do one thing and do it really well.
Then there are also the bloat complaints (why should I download a whole stack of arr services when I only care for movies)
The most unfortunate one however can be them mixing. If my child looks up Star Wars but instead the suite ends up downloading a Star Wars porn parody… that’s just… bad
I do wish I didn’t need to run a second Radarr instance to have both 1080p and 4K media.
Not everyone has to, though. I use one instance for a wide variety of resolutions, depending on the show and consumption model; including 360,480,720,1080, 2160 (HDR/10-bit). But I run Plex on a box with quicksync that is doing my transcoding for me.
So why have you chosen to run different instances?
It’s not as relevant today as it used to be, that’s for sure. Originally it was to limit transcoding of 4K content (which used to be a lot harder), and also to avoid the HDR tone mapping issues with 4K content during transcoding, both of which are largely resolved with newer hardware and Plex software updates.
The only reason I keep them separated now is because most of the folks I share with can’t direct stream 4K content anyway, and so I only share out the 1080p libraries in Plex. It keeps bandwidth usage down and limits having to go to hardware transcoding, which can reduce quality and introduces startup delays. The library I use locally indexes both the 1080p and 4K content, so Plex will always prefer the 4K if it’s there.
If diskspace ever became an issue, I’d probably consider merging the libraries again.
Sure but they also seem to share quite a bit of GUI code at least. Couldn’t all of these just be plugins for a core *arr service?
I’ve had the same question for a while now. My best guess is that they’re trying to create separate services that individually are the best at what they do UI/UX-wise. It may be very difficult to create an all-in-one platform for each type of media as a cohesive experience.
It could also be done for modularity. Having the services split up means the user doesn’t have to deal with media types they don’t care about and could just install the services for which they do.
That being said, it would be nice if there was an all-in-one platform that allowed you to easily opt into the media types you wanted as like plugins or something instead of you having to set up multiple different app containers in your server.
I added overseer on top of my *arr stack. I can just request whatever from there and it just passes it to the correct instance. I also preferr to set up an instance for a specific target. Makes it easier if the services are separated. To change the minimum bitrate or something.
Yes, I understand that you can just add more services to integrate your other services together. I just think that it would be far more convenient to have a single service that does all of that in a smart way. Each service could instead be its own plugin that you could opt into. Each plugin would have its own dedicated UI/UX for handling that media type.
Basically it should have a design similar to that of Plex or Jellyfin (which handle multiple media types in a smart, cohesive way). Of course, that would take a lot of coordination and funding, but man it would be such a better overall experience for the vast majority of people.
Because it makes more sense to have software do one thing good and not many things bad. There are many examples of this, iTunes is a classic but also Jellyfin, I like that they’re focussing on video because that is very complex in itself. To also do comics, podcasts, audiobooks, comics, books etc. meana much more complexity, things that can influence and trip each other, diversion of work etc. Yes, would be very cool to have one app that can play everything perfectly but that’s almost impossible. To do one thing good isn’t.
That will be one big bloated software extremely painful to maintain.