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.

  • @CriticalMiss@lemmy.world
    link
    fedilink
    English
    1198 months ago

    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

      • @AtmaJnana@lemmy.world
        link
        fedilink
        English
        1
        edit-2
        8 months ago

        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?

        • @Crogdor@lemmy.world
          link
          fedilink
          English
          28 months 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.

    • Crit
      link
      fedilink
      English
      88 months ago

      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?

      • @CriticalMiss@lemmy.world
        link
        fedilink
        English
        58 months 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.

  • My Password Is 1234
    link
    fedilink
    English
    708 months ago

    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.

    • @DeltaTangoLima@reddrefuge.com
      link
      fedilink
      English
      478 months 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.

      • @Crogdor@lemmy.world
        link
        fedilink
        English
        318 months 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.

      • SciPiTie
        link
        fedilink
        English
        78 months ago

        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…

        • @jcg@lemmy.world
          link
          fedilink
          English
          28 months 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.

  • @Z4rK@lemmy.world
    link
    fedilink
    English
    268 months 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.

  • Faceman🇦🇺
    link
    fedilink
    English
    258 months 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.

  • jlow (he/him)
    link
    fedilink
    English
    118 months ago

    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.

    • @Zedstrian@lemmy.dbzer0.com
      link
      fedilink
      English
      48 months 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.

    • @Heggico@lemmy.world
      link
      fedilink
      English
      98 months ago

      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.

  • krimsonbun
    link
    English
    38 months ago

    because it isn’t a very good idea to keep a huge illegal library in one place, maybe

    • @Appoxo@lemmy.dbzer0.com
      link
      fedilink
      English
      128 months ago

      Arrs are not for doing that but organizing it.
      You can legally rip your own shit and keep it on the server.