Why so many *arr services? Why not 1 service that works with all media types?
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?
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
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?
I think the goal of the original project (I think it was Sonarr?) was just to cover TV shows. The others had forked and the rest is history. It was never aimed to be a multi platform thing.
That's because of the Unix philosophy: Write programs that do one thing and do it well. Write programs to work together. Write programs to handle text streams, because that is a universal interface.
When I was an up and coming Unix admin, the senior admin told me it was all about "little tools for little jobs", and the OS lets you string them together into whatever solution or outcome you need.
That was nearly 30 years ago. Still holds true today.
You’re taking it too literally, and missing much of the nuance between philosophy of design and actual implementation details.
The movies app manages movies. That’s its one thing. No need to overcomplicate it. Unix ‘find’ for instance, finds files. That’s its one thing. ‘find’ also lets you filter the results, but that doesn’t change its purpose of finding files.
The fact that *arr apps don’t do things, or are bad at things, has nothing to do with the Unix philosophy. Were these apps combined into a monolith, the same issues would need to be addressed.
There is no right or wrong in a design philosophy. It’s all trade offs. I don’t know anyone who says Unix (or the metaverse) is successful because of a design philosophy. What matters is what you deliver.
There is literally not one singular(!) arr that does what you're claiming, at least that I'm aware of.
The indexing is done by a different thing than the tracking and the downloading.
That's why you end up with 16 of them like OP after all...
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.
People have tried and failed to make the "one arr to rule them all" but the current stack is pretty lightweight, stable and mature so it is better to just install them all in containers then have some kind of frontend and request system in front of them for users and admins.
I use Organizr as a frontend (keeps them all together in one interface and optionally handles SSO across all of them) then I have Overseerr for users to add media without having to give them access to the arrs directly.
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.
iTunes is a double edged sword in that regard, given that while it initially innovated as a digital music distribution storefront, as more and more features were added to it, it started juggling too many tasks at once instead of continuing to innovate with just one.
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.
Given how many audiobooks Audiobookbay seems to be missing it would certainly be helpful to have a complementary source given that even private torrent trackers and usenet aren't much better for that than public torrent trackers it seems...