1 min read

*Arr + QBitTorrent are Generally Available on Cloud Seeder

0:00
/1:29

Many of our users reached out and informed us that it was very difficult to setup *Arr and QBitTorrent, yet they wanted to take advantage of the encapsulation of activity inside a Cloud Seeder container. Before this, there was no complete *Arr automated setup. Further, we had never heard of *Arr until our users brought it up to us.

Challenge accepted.

The majority of the setup was pretty straight forward, but there were a few difficulties along the way:

  1. QBitTorrent Password Hashing
  2. *Arr Configuration Settings
  3. The Dreaded File Permissions

QBitTorrent Password Hashing

We made a few attempts to mimic the password hashing of QBitTorrent using openssl and a few bash tools, but we couldn't get it quite right. We opted for a C++ implementation closely shadowing the QBitTorrent's actual implementation.

It worked on the first try! You can see this code in our appliances on the Cloud Seeder Github.

*Arr Configuration Settings

While some settings are exposed in the config.xml for *Arr apps, the majority are embedded in the database. The applications expose an API, but the documentation online is a bit sparse. We used Chrome's developer tools to Inspect the Network as the calls were made and converted them to curl. Now we had the API calls and parameters.

The Dreaded File Permissions

The user and group mappings on podman containers don't match the host/super host (in the case of macOS and windows). We had to make a difficult choice and run the *Arr apps as root. While this is usually not a good idea, in this case, if the appliance is compromised, you'll only get the *Arr suite since that's the only thing running inside the container!

We hope you enjoyed this summary of how we automated *Arr installations with a non-interactive setup.

Signup for IPv6rs today and start self hosting!