Announcing Prunerr: Perma-seeding of whole Servarr libraries optimized for per-tracker ratio


TL;DR: Perma-seeding of whole Servarr libraries optimized for per-tracker ratio.

  • Delete torrents/items only as disk space gets low.

  • Don’t delete currently imported items. IOW, only delete upgraded items.

  • Don’t delete private items that haven’t met seeding requirements.

  • Delete public items first

  • Delete private items in an order to maximize tracker ratio and/or bonuses.

  • And more…

I didn’t like the available options I could find at the time for maximizing seeding from a lovingly managed media library. Deleting by a ratio threshold doesn’t make sense to me because that can delete items when there’s plenty of disk space. Also the ratio threshold is a reverse indicator for items from private indexers vs items from public indexers. Items from private indexers with high ratios should be kept around as long as possible to build user total ratio whereas items from public indexers with low ratios should be kept around as long as possible to preserve access in the community/ecosystem. Finally, deleting any item still imported in the Servarr just because it hit the ratio threshold is the biggest waste since it doesn’t free any space. So I wrote Prunerr to prune download items in the correct order.

The use case for Prunerr is not tracker ratio racing. It’s goal is to seed as long as possible and to seed as much of your library as possible. This should have some secondary benefits to ratio, but that’s not the main goal.

Finally, there is a laundry list of other download client management tasks that can be automated but aren’t by anything I could find. So I added them to Prunerr as well.

I finally got around to packaging it up for release so here it is and here’s hoping it can be useful to others! I’m happy to receive feedback and contributions.

Looks interesting.

One thing that comes to mind, how does this handle trackers with maximum ratios (e.g. minimum ratio 1:1, maximum ratio 3:1)? Or can certain trackers just be excluded/not added in the first place?

1 Like

Depends on what you mean. The rules for if, and in what order, to delete items the configuration/operations system should make that possible. I use rules that won’t allow deletion until either the item reaches a minimum ratio or a minimum seeding time to satisfy Hit and Run (HnR) rules. There’s no reason that shouldn’t be usable to also include a maximum, though that is not a use case I’m using.

I’m guessing from your “excluded/not added in the first place” language that there may be a misunderstanding. Prunerr only operates on what Servarr has already done, so it plays no role in Servarr’s logic about whether or not to grab releases. Prunerr does review items grabbed by Servarr, optionally deleting them and also optionally blacklisting them, AKA marking them as failed. For example, I use Prunerr to blacklist stalled items and items containing archives, such as *.rar items.

My head is too deep into this, so I’d like to tune the ./README.rst to address all the things that aren’t clear to others coming from the outside. So in addition to any further discussion, please do LMK what didn’t work for you about the ./README.rst.

In my (granted, limited) experience, trackers which implement a maximum ratio are pretty rare, but do exist. I think the general idea is to let new seeders get some upload, rather than being drowned out by 100 others who have been seeding that one particular torrent for the past month.

Sorry for the confusion, my question about being ‘excluded/not added in the first place’ was in reference to trackers, not torrents. To give an example, if I use 5 trackers, 4 of which have varying MRs and MSTs that I’m happy to just let perma-seed, but another which has a maximum ratio of 3:1, would I be able to exclude that last tracker from being handled by Prunerr?

I suppose if I can just apply a maximum ratio per tracker, it’s a moot point, but I’m sure someone will find a case in which they would want to exclude a tracker being handled by Prunerr.

1 Like

Thanks for clarifying. I don’t have a lot of private tracker experience so I’m surprised to learn of maximum ratio but I find the reasons you represent to be very compelling. Let the crappy would-be racers have a chance! (That would be me, FWIW).

But yes, Prunerr supports that, if you consider a user base of one who is using minimum but thinks their code also handles maximum to be a sufficient “yes”. :wink: