Skip to content

Jellyfin + Radarr/Sonarr + TorBox

Legal Responsibility

This guide demonstrates technical integration between cloud storage services and media server software. Users are solely responsible for ensuring that all content accessed, stored, or streamed through this setup is legally obtained and complies with applicable copyright laws and the terms of service of TorBox and other third-party services. ElfHosted provides hosting infrastructure only and does not provide, curate, or facilitate access to copyrighted content. See our Acceptable Use Policy for details.

This guide describes how to configure Jellyfin with TorBox cloud storage integration and content acquisition managed by Radarr and Sonarr, using CatBox's lazy-materialize shim and symlinks for efficient library organization.

CatBox is the only safe path for TorBox + large Jellyfin libraries

TorBox's policy prohibits automated tools from artificially keeping items in a user's library beyond 30 days. A media server like Jellyfin constantly probes its library (codec / resolution / runtime metadata, thumbnail generation, intro detection, transcoding decisions) and any probe that touches raw TorBox content quietly extends the item's retention, the exact "automated retention" pattern TorBox's policy forbids. CatBox solves this with a virtual library design (items aren't added to TorBox until you press play) and pseudo / crowdsourced probe data (probes against virtual files return synthetic or community-captured metadata, never re-fetching from TorBox).

The stack described below is available in our personal media stacks on the TorBox-bundled tiers, with $1, 7-day trials available on the entry bundles.

Get your $1, 7-day free trial!

Requirements

How does it work?

Here's a diagram (it's not as complicated as it looks!), followed by some explanations:

  1. The user adds items to lists (TMDB list, MDBList, Trakt, etc.), which feed into a request manager (such as Seerr, or its predecessors Overseerr / Jellyseerr) or directly into Radarr / Sonarr
  2. Or, the user adds items directly to Radarr / Sonarr, or via their request manager
  3. Radarr / Sonarr search Prowlarr for releases matching your size, quality, and language preferences
  4. When an appropriate release is identified, Radarr / Sonarr submit it to CatBox via its qBittorrent-compatible API. Nothing is added to your TorBox account at this point. CatBox virtualizes the item: a symlink in your library points into a virtual WebDAV path. When the media server later probes the file for codec / resolution / runtime metadata, CatBox serves synthetic or crowdsourced probe data, so the probe completes without ever re-fetching from TorBox.
  5. Radarr / Sonarr import the (virtual) file from CatBox's symlink tree into the intended root folder. Jellyfin's realtime filesystem monitoring picks up the new symlink and adds the item to your library automatically.
  6. When you press play, Jellyfin reads the symlink, which resolves to a virtual path under /storage/torbox/.... CatBox materializes the item: adds it to your TorBox account, fetches a presigned URL, and proxies the stream.
  7. The bytes flow from TorBox through CatBox's WebDAV proxy to Jellyfin to your client.
  8. After playback, CatBox removes the item from your TorBox account. The symlink and library entry remain (so the item still appears in your library), but TorBox no longer holds the item against your account. Your TorBox cache retention reflects only what you actually play, never your full library.

The result: your media server sees a complete library of any size, with full metadata for every item. TorBox only ever holds items you have actively played recently, well within the 30-day cache retention policy.

How to set it up

  1. Subscribe to a Jellyfin / Arrs / TorBox configured personal media stack. Several ElfHosted bundles include a TorBox subscription (see the TorBox guide for the bundled-plan list).
  2. If you're using your own (BYO) TorBox account rather than a bundled one, copy your TorBox API key from your TorBox account page.
  3. Open CatBox from your ElfHosted apps dashboard, go to /ui/settings, paste your TorBox API key, and save. The key is hot-swapped with no restart needed.

1. From your ElfHosted dashboard, launch Jellyfin

2. When prompted by the wizard, click "Next"

3. Choose a username and password, and click Next

4. Add a media library

5. Select the "Movies" option.

6. Add a folder

7. Click "/storage/symlinks"

8. Click "movies"

9. Click "OK"

10. Add another folder...

11. Click "/storage/symlinks"

12. Click "movies-4k"

13. Click "OK"

14. Ensure you have 2 folders in /storage/symlinks/...

15. Scroll down, ensure Trickplay and Chapter Images are all disabled (these will impact your debrid bandwidth)

16. Click "OK"

17. Add a second media library

18. Select the "Shows" option.

19. Add a folder

20. Click "/storage/symlinks"

21. Click "series"

22. Click "OK"

23. Add a second folder

24. Click "/storage/symlinks"

25. Click "series-4k"

26. Click "OK"

27. Again, do not enable Trickplay or Chapter Images

28. Click "OK"

29. Click Next

30. Pick your preferred language, click "Next"

31. Click Next again (you'll always have remote access, regardless)

32. Click "Finish"

33. Enter the credentials you chose, and click "Sign In"

Connect Arrs to Jellyfin

When Radarr / Sonarr have added content to your library, they'll need to "reach out" to Jellyfin (using an API key) to request that it scan and update your libraries, so that the content can be streamed.

1. In Jellyfin, click on the Account icon

2. Click "Dashboard"

3. Click "API Keys"

4. Click the + button to add a new API key

5. Name your key (I used "Arrs"), and click OK

6. Copy your API key to the clipboard

7. Click "Settings"

8. In your Arr, click on Settings -> Connect

9. Pick Emby / Jellyfin

10. Name the connection Jellyfin

11. Un-check On Application Update (optional)

12. Press [[cmd]] + [[v]]

13. Set the following values, and click Test, then Save\ \ Host: jellyfin\ API Key : <paste from clipboard>

14. The connection is added!

15. Repeat this process for every instance of Radarr / Sonarr (the same API key can be used)

Setup CatBox

On a fresh ElfHosted Arrs deployment (or after an ElfBot reset) on a TorBox-bundled stack, CatBox is already configured as the qBittorrent-compatible download client in each Arr, no manual setup required.

For existing deployments, add CatBox manually with these connection details:

  • Host: catbox
  • Port: 8080
  • Use SSL: off
  • Username / password: any values (CatBox doesn't authenticate at this layer; SSO upstream is the real auth)
  • Category: must match the Arr name — one of radarr, sonarr, radarr4k, sonarr4k, sonarranime (these are the exact category names CatBox expects, and downstream tooling reads them as top-level directories in the symlink tree)

To verify CatBox is healthy, open it from your apps dashboard. The dashboard shows the materialize / de-materialize queue, your TorBox cache hit rate, and how much of your library is currently virtualized vs. materialized.

Cached-only vs uncached releases

By default, CatBox only accepts releases that are already in TorBox's global cache. This gives instant playback. To opt in to uncached fetches (useful for private-tracker users or less-common content), toggle the setting in CatBox's UI. CatBox queues uncached fetches behind playback so cache hits never starve.

Success!

That's it. Add content via Radarr / Sonarr (manually, via your request manager, or via list imports), and within a minute or two it should appear in your Jellyfin library, ready to stream. Press play and CatBox materializes the item on demand.

Why this is the safe path

TorBox's policy prohibits automated tools from keeping items cached beyond 30 days, and a media server's natural probing behaviour (thumbnails, codec checks, intro detection) would otherwise re-touch and extend retention on every item in your library. CatBox's virtual-library + synthetic / crowdsourced probe-data design means your media server gets accurate metadata without ever re-touching items in TorBox. Your account reflects only what you have actively watched.

How do I get help?

  1. For general use of the individual tools, refer to each app's upstream site
  2. For specific support re your ElfHosted configuration, see the ElfHosted support options

What users say..

We're rocking some excellent ⭐⭐⭐⭐⭐ TrustPilot Reviews, and here's what some of our usersfriends say..

I am new here, but today I learned realized that Elfhosted is one of the best free and open source software communities I've seen, and FOSS communities have been at the center of my life since the 90s (Perl, PHP, Symfony, Drupal, Ethereum, etc.). Great open software built by great people who care = great community, and that is something special.

You've done an amazing job @Funky Penguelf with the platform you provide and this place has an awesome mix of active community caretakers and software creators that I've seen here so far like BSM, Spoked, LayeZee and other elf vengers. Keep up the energy, productivity and community and take time to enjoy it and appreciate each other!

⭐⭐⭐⭐⭐ @skwah (Discord)

I self host and share a fully automated ‘arr stack with Plex. Been doing so for around 4 years. Also recently got into real debrid and hosting a Comet and Annatar for Stremio. The amount of time and head banging I’ve put into it is in the hundreds to thousands of hours. From setting it up to keeping it running smoothly. Let’s not forget the cost of my server and how much it cost to keep it running.

Anyway I wanted to see what ElfHosted was about to compare. Yeah I had the whole thing setup in just a few hours. It also passes the headache of maintaining it to ElfHosted. Will I keep it no because nerdy things and maintaining my server are my hobby and quirky passion project. Will I recommend it to my friends who don’t have the money up front to buy a server, the knowledge to maintain it or desire.

Just my server alone was $2k. Power cost to keep it on yearly is $250ish, annual memberships to RD, Usenet and indexers are around $100. Then whatever a value my free time at. Which is currently at minimum my hourly pay at work or more. Yeah so take the monthly cost of all that and compare to ElfHosted Ultimate Stream package at $39 monthly, add RD to the cost and get nearly all your time back is incredibly cheap.

Lastly it seems like a lot of people forget how quickly an ultimate cable package used to cost. Or how quick paying for every stream service would add up to. Which when using ElfHosted with RD is essentially and more what you get. Quick hint it’s far above the asking price.

⭐⭐⭐⭐⭐ /u/MMag05. (Reddit)

As a happy Elfhosted customer—who also self hosts MANY things across about 10 severs (dedicated, VPSes, and VMs running on Synology), I wouldn’t switch to self hosting the services I get from Elfhosted. They just work with very little effort configuring things, and the support the owner and his team provides is second to none. Plus I love being part of a fledgling—but quickly growing—enterprise.

⭐⭐⭐⭐⭐ /u/jatguy. (Reddit)

I recently found ElfHosted and decided to start out with the Infinite Starter Kit. Within a week I realized that this was for me and upgraded to the Hobbit plan. Give it another week and I was up to the Ranger plan.

I just love the simplicity and the fact that things just work. For years I've ran a home server and between the constant maintenance and always upgrading harddrives, it became apparent I wanted to make it easier on my self. Enter ElfHosted.

Setup was super easy with the guided documentation and the discord community. It seems that somebody is available at all hours of the day to help with questions. I started with the Arrs, which I knew from my prior hosting... but saw a newer product called Riven. I decided to jump in feet first. I enjoy being on the front end of an up and coming replacement for the Arrs and will soon be upgrading to the annual plan!

⭐⭐⭐⭐⭐ @.theycallmebob. (Discord)

I’ve been using this service for a while now, and honestly, it’s a game-changer compared to anything else I’ve tried for managing my media library. The support is fantastic—super quick, and if the staff aren’t around (which rarely happens), the community steps up right away. I can’t imagine going back to any other platform.

Before this, I had my own setup with a NUC, NAS, and tools like Sonarr and Radarr. It worked pretty well for a while, and my internet speed was high enough to stream without any buffering. But in the end, it wasn’t worth the time or headache of managing all the storage and keeping everything running smoothly.

Now, with this service, everything runs smoothly in 1080p+ with no buffering issues. The interface is really easy to use, which makes managing everything a breeze. Plus, having a whole community of smart people available for guidance is a huge bonus.

I was sold from the start, which is why I quickly upgraded from a 1-month to a 3-month subscription, and I’m planning to switch to a 1-year plan soon. This service totally pays for itself, and I’m sure you won’t be disappointed. It’s been really impressive.

⭐⭐⭐⭐⭐ @seapound (Discord)

Best possible options for anyone looking for the do-it-all option along with the best customer service ive experienced in this space so far. Id rate it a 6 if I could but its limited to 5/5...

⭐⭐⭐⭐⭐ @hashmelters (Discord)

(responding to a Reddit thread re the cost of ElfHosted vs mainstream streaming / self-hosting):

I didn't know that the goal of this project was to compete with large companies running/renting entire DCs. I was under the impression that the goal of this project was to manage the updating of almost selfhosted applications on a shared platform with other users. Basically, be my sysadmin for me.

That being said, paying for services is the 'easy button'. There is a real world cost incurred for the time saved. Time is money. Time is the most valuable currency that exists. Once time is spent, it's forever lost, one cannot retrieve it again (yet). In my mind, there are 3 options for use of time with respect to: mainstream, selfhosting, elfhosted.

  • mainstream - my time is valuable and I don't want curated content and I don't care what content that I have the ability to consume. I only like what's popular.

  • elfhosted - my time is valuable, I want my own curated content without being forced to browse past the same damn entry 500 times just to find out that I can't watch the movie I want because it's not available in my current location or was removed last week from mainstream providers.

  • selfhost - I care about costs and I have nothing but time to waste or I want to learn about the backend of the systems involved. I'll pay for my own VPS/homelab, electricity, manage the OS, manage app updates, figure out how to make the apps talk nice to each other, create my own beautiful frontend.

I know how much my time is worth, does that reddit poster know how much their time is worth? Without knowing what you are worth, you can't make effective capital expenditures with respect to the time it will take to recoup the capital.

I know I don't need elfhosted at all for my use case. I choose to stay with elfhosted because it's my 'easy button'. It's an efficient capital expense for the amount of time it saves me managing my own hardware, apps and saves me electricity costs. I'm also in a situation where I don't have upload bandwidth from my home to serve HD content to myself remotely. If I lived back in a city, I would still be here. My time is worth $$/hr.

⭐⭐⭐⭐⭐ @cobra2 (Discord)

"Just wanted to check in here and let @Darth-Penguini and anyone/everyone else know...WOW. I have been struggling with storage for years, maintenance of Docker containers, upkeep, all of it. Elfhosted is so freeing. It's an amazing service that I hope to be a member of for a long, long time!"

⭐⭐⭐⭐⭐ @Fingers91 (Discord)

"I just have to say, I am an incredibly satisfied customer. I had been collecting my own content for nearly 20 years. Starting off with just a simple external HD before eventually graduating to a seedbox with 100TB of cloud storage attached and fully automated processes with Sonarr and Radarr . However, the time came when the glory days of unlimited Google Drive storage ended. I thought my days of having my full collection at my fingertips via :plex: were behind me, until I found Real-Debrid and ElfHosted.

Now I essentially have the exact same access to content as I had before, but even better. Superior support and community involvement. Content is available almost immediately after being identified. A plethora of tools at my fingertips that give me more control and automation than ever before. Wonderfully well done and impressive! I am looking forward to being a customer for a very long time! Massive kudos to @funkypenguin 🤟

⭐⭐⭐⭐⭐ @BSM (Discord)

"I would recommend ElfHosted to anyone. It has been great so far and made life a lot easier than running my own setups. If you’re in the fence give them a try and help support this great community."

⭐⭐⭐⭐⭐ Zestyclose_Teacher20 (Reddit)

"thanks for the help and must say this is the best host I every had for my server 🙂 10/10 🙂 All other places I have try have I got a lot buff etc. Your host can even give me full power on a 4K Remux on 200GB big movie file . That's damn awesome 😄"

⭐⭐⭐⭐⭐ @tjelite (Discord)

"What an amazing support system these guys have Chris and Layzee i think it was! Both are very patient with me even though I am a newbie at all this. Very thorough and explained everything step by step with me

I couldn’t ask for anything better than the service I have received by these guys! Happy happy client❤️"

⭐⭐⭐⭐⭐ @dead.potahto (Discord)

"Very happy customer. Great service"

⭐⭐⭐⭐⭐ @ronney67 (Discord)

"Very good customer service, frequent updates, and excelent uptime!!!!!"

⭐⭐⭐⭐⭐ @ed.guim (Discord)

"I had my own plex-arrs setup on hetzner for years. Yesterday I deleted everything as elfhosted has gone above and beyond it. And it has a fantastic, active community as well! Very friendly, helpful and like-minded folks always willing to help and improve the system. Top notch!"

⭐⭐⭐⭐⭐ @alon.hearter (Discord)

"Absolutely Amazed with the patience and professionalism of all Elf-Venger Staff including bossman penguin❤️"

⭐⭐⭐⭐⭐ @dead.potahto (Discord)

"@BSM went above and beyond to make sure I had all the one on one support needed with my sub. Thank you for your patience! Elfhosted continues to be Elftastic !!"

⭐⭐⭐⭐⭐ @bfmc1 (Discord)

"really enjoying the service from elfhosted. The setup is really easy from the guides on the website. And the help on the discord channel is really quick."

⭐⭐⭐⭐⭐ @jrhd13 (Discord)

"Support is amazing, and once you find a setup which works best for you it works perfectly, very happy 😊"

⭐⭐⭐⭐⭐ @fiendclub (Discord)

"great fast service, resolved my problem and really friendly"

⭐⭐⭐⭐⭐ @allan.st.minimum (Discord)

"Great service and sorted out a billing issue super quick and easy."

⭐⭐⭐⭐⭐ @scottcall707 (Discord)

"Very friendly support, resolved a problem with my account! I also appreciate the community that has been built around the service!"

⭐⭐⭐⭐⭐ @leo1305 (Discord)

"excellent customer service and very fast replies"

⭐⭐⭐⭐⭐ @yo.hohoho (Discord)

"Loved the simplicity, experience and support"

⭐⭐⭐⭐⭐ @y.adhish (Discord)

"Very friendly help as always, problem solved, one happy elf here!"

⭐⭐⭐⭐⭐ @badfurday0 (Discord)

"Great Helpful and Fast support. Thanks!"

⭐⭐⭐⭐⭐ @.mxrcy (Discord)