this post was submitted on 22 Oct 2023
125 points (92.5% liked)

Piracy: ꜱᴀɪʟ ᴛʜᴇ ʜɪɢʜ ꜱᴇᴀꜱ

55056 readers
232 users here now

⚓ Dedicated to the discussion of digital piracy, including ethical problems and legal advancements.

Rules • Full Version

1. Posts must be related to the discussion of digital piracy

2. Don't request invites, trade, sell, or self-promote

3. Don't request or link to specific pirated titles, including DMs

4. Don't submit low-quality posts, be entitled, or harass others



Loot, Pillage, & Plunder

📜 c/Piracy Wiki (Community Edition):


💰 Please help cover server costs.

Ko-Fi Liberapay
Ko-fi Liberapay

founded 2 years ago
MODERATORS
 

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.

all 38 comments
sorted by: hot top controversial new old
[–] [email protected] 121 points 1 year ago (4 children)

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

[–] [email protected] 57 points 1 year ago (1 children)

Star Whores is a masterpiece, don't disparage it

[–] [email protected] 6 points 1 year ago (1 children)

It's got nothing on Super Hornio Bros, though.

[–] [email protected] 5 points 1 year ago (1 children)

The bobs burger porn parody is a piece of cinematic perfection.

[–] [email protected] 2 points 1 year ago

My all time favourite is the girl doing pterodactyl position, dressed as a pterodactyl.

[–] [email protected] 11 points 1 year ago (1 children)

I do wish I didn’t need to run a second Radarr instance to have both 1080p and 4K media.

[–] [email protected] 1 points 1 year ago* (last edited 1 year ago) (1 children)

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?

[–] [email protected] 2 points 1 year ago

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.

[–] [email protected] 7 points 1 year ago

And everyone thinks they can make a better one

[–] [email protected] 7 points 1 year ago (2 children)

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?

[–] [email protected] 5 points 1 year ago

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.

[–] [email protected] 3 points 1 year ago* (last edited 1 year ago)

Good idea! You have one hobby more now.

[–] [email protected] 69 points 1 year ago (2 children)

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.

[–] [email protected] 46 points 1 year ago

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.

[–] [email protected] 7 points 1 year ago* (last edited 1 year ago) (2 children)

*arr apps don't do one thing.

  • They cook their own authentication system.
  • They manage trackers, indexers, etc.
  • They download files automatically.
  • They track upcoming releases.
  • They rename files automatically.

*arr apps don't do one thing well.

  • They require extensive configuration due to insensible defaults.
  • They require manual intervention from time to time even with a good configuration.
  • They can't even fulfill their purpose. Bazarr shits the bed with anime.

*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.

[–] [email protected] 30 points 1 year ago

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.

[–] [email protected] 5 points 1 year ago (1 children)

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...

[–] [email protected] 2 points 1 year ago

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.

[–] [email protected] 40 points 1 year ago

That will be one big bloated software extremely painful to maintain.

[–] [email protected] 27 points 1 year ago (1 children)

The simpler services are, the less likely to break down. Google SRE guidance

[–] [email protected] 12 points 1 year ago

And easier to maintain with different dev groups

[–] [email protected] 26 points 1 year ago

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.

[–] [email protected] 25 points 1 year ago

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.

[–] [email protected] 11 points 1 year ago (1 children)

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.

[–] [email protected] 4 points 1 year ago

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.

[–] [email protected] 9 points 1 year ago (1 children)

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.

[–] [email protected] 9 points 1 year ago (1 children)

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.

[–] [email protected] 6 points 1 year ago* (last edited 1 year ago)

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.

[–] [email protected] 7 points 1 year ago (2 children)

I just want audiobooks and they're very difficult to find a large library of

[–] [email protected] 6 points 1 year ago

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...

[–] [email protected] 2 points 1 year ago

Check your local library and Libby

[–] [email protected] 6 points 1 year ago

I think they could make it more modular. Obviously there is a ton of commonality between these apps

[–] [email protected] 3 points 1 year ago (1 children)
[–] [email protected] 1 points 1 year ago

All the *arrs are in the same Github repo.