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.
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.
*arr apps don’t do one thing.
*arr apps don’t do one thing well.
*arr apps don’t handle text streams.
But I think the Unix philosophy is flawed anyways. It’s like the metaverse: When a metaverse succeeds, they attribute that success to the metaverse as a concept. When a metaverse fails, they attribute the failure to that metaverse, not the metaverse as a concept. Now substitute metaverse with unix utility and the metaverse as a concept with the unix philosophy.
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…
Yeah, sonarr and radarr support some indexers but I ended up just setting up Jackett. They both use those indexers to search, but in different ways. They also don’t do the file downloading, your separate download client does that. They do both track future releases and rename files, but the way that works conceptually for movies and TV shows is pretty different since Movies are singular pieces of media while shows are broken up into seasons and episodes. They work with different data structures and so have to parse and present in different ways.