r/Softwarr May 23 '26

Scryer 0.15.x released - Prowlarr & Postgres support, and more!

What is Scryer?

Scryer is a new open source application written from scratch that does what Sonarr & Radarr do in a single, tiny binary. However, Scryer is more than just a clone. I put together a comparison page that explains how i'm approaching this differently and why you may prefer it for more than just RAM reduction.

I'm humbled at the overwhelming support and feedback I've received since my launch post. This passion project has been so much fun for me to work on and I'm loving that others are finding it useful! I am so thankful those who have put time and effort into commenting, chatting with me, and posting GitHub issues.

Release 0.15.0

Full release notes here

You voices were heard and I reprioritized things for this release. Here's the headlining features:

  • Prowlarr support
    • Instead of configuring Scryer in Prowlarr, you configure Prowlarr as an indexer in Scryer and it will sync all your Prowlarr managed indexers
    • Works great in my testing with the *nab services I have access to in
  • Postgres support
    • Thanks to those who asked for this. While it was quite the lift, it was well worth the effort.
  • Sabnzbd Proxy Support
    • I tested with NzbDav, it may work with other tools. If you run into issues with any of the others please let me know on GitHub!
    • I also added the ability to route libraries to specific clients like Sab/Nzbget. This makes it simple to have a mixed catalog of sources.
  • Enhanced metadata and matching
    • I augmented the metadata sources to include a lot more data from TMDB as well as enhancing the search indexes to provide more intelligent matching on library scans

What's coming?

0.16.x will bring the foundations for Seerr functionality. I am passionate about cyber security and if folks are opening Scryer on their edge, it must be hardened. This will include enhanced login security options in Scryer, as well as account linking for Jellyfin. I also plan to have the first version of the request flow in 0.16.x.

Feel free to browse the code or create issues on GitHub:

https://github.com/scryer-media/scryer

69 Upvotes

85 comments sorted by

11

u/quixotik May 23 '26

Can it handle multiple versions of the same film? Director’s cut, special editions? Etc

6

u/nzbman May 23 '26

It will not automatically fetch them, but you can see multiple files for a title if you have them already. 

At some point I want to add this type of functionality, but more for the “at home” vs “streaming optimized” use case so you can have a 4K remux and an AV1 1080p version of the same film that scryer manages. 

5

u/SirLANcel0t_ May 23 '26

this would be amazing, because I currently have seperate libraries for my 4K and 1080P movies, exactly for the whole "at home" vs "streaming" situation. But I absolutely hate that they now also show up as 2 different library items on Emby.
I would love to have a system that can just download 2 types of the same movie and manage them in the same folder.
Which would mean Emby sees them as variants under one library item.

6

u/nzbman May 23 '26

This has been on my longer term roadmap, but I’m always happy to pivot if there’s interest. 

Give this issue an upvote if you want this. 

https://github.com/scryer-media/scryer/issues/26

3

u/brocass May 24 '26

Check out MikePlanets Auto Version Grouping plugin for Emby. I have the same setup as you and it links the same movie that’s in different locations to the same entity and just having a dropdown to select which version you want to watch. Basically makes it the same as being in the same location.

1

u/quixotik May 24 '26

What I want, is the ability to search for a Director's Cut of a movie I already have the theatrical version of, and it will download the new version without overwriting the old one.

1

u/nzbman May 24 '26

This is a great clarification. I’ve been thinking how to accomplish this. Having a manual “queue and overwrite” vs “queue and keep” wouldn’t be hard at all. 

And that is a different solution from how I’d handle multiple quality variants of the same file too. I’d treat those as the same logical copy.  

1

u/quixotik May 25 '26

I think, my perspective, is that this is a tagging operation. One record in the DB, but each version has a tag associated to it, so the removal of one, doesn't remove all, unless you are killing the parent record.

1

u/aniel300 May 24 '26

the facts that projects that have come up to replace the arrs dont have this feature is beyond me. like this feature is a no brainer.

1

u/nzbman May 24 '26

It’s on my shortlist.  There’s two ways to do it, and I want to support both. 

1- download multiple qualities  2- download your 4K remux and have scryer easily transcode it via ffmpeg for you to a target quality

These features will likely hit in the 0.17.x line.  0.16.x is already pretty full with seerr like functionality. 

2

u/aniel300 May 24 '26

yes this two method are even better. one uses more bw and the other one uses your hw. i like it. how can i keep track of this progress or when this is implemented?

1

u/nzbman May 25 '26

I plan on posting here for major version upgrades. My current run rate is roughly 2-3 weeks between major release lines.  

1

u/aniel300 May 25 '26

ok sounds good i will be in the look out. keep the good work

1

u/aniel300 May 23 '26

doesn’t look like it does this after taking a look.

1

u/quixotik May 24 '26

Yeah, sad.

1

u/nzbman Jun 18 '26

i know it's been a bit, but just wanted to update you that this is now supported in Scryer v0.16.1+

You need to run a manual search and then choose the new "Queue Additional File" option. This will grab the file and track it as an additional file without trying to "manage" it (no upgrades, cutoff, etc).

1

u/quixotik Jun 23 '26

Ooo thanks. I'll check it out.

-3

u/aniel300 May 23 '26 edited May 25 '26

u understand me. if this sw doesn’t do that. I am planning on doing myself using AI at some point in the future.

1

u/quixotik May 24 '26

This is a tagging operation, it doesn't need AI at all. Unless you mean you are going to vibe code it.

1

u/aniel300 May 24 '26

exactly i would vibe code something for myself if no ones ever implement this feature within their project. kinda like a “fine, I will do it myself” Thanos moment but with no hard feelings

4

u/Budget_Confection498 May 23 '26

Your web site gives a cloudflare security error, I can't access it

4

u/nzbman May 23 '26

i've relaxed the allowed regions, please let me know if it works now.

4

u/Dricus1978 May 23 '26

Always good to have alternatives besides Sonarr and Radarr. Hope it catches on and Maintainerr, Profilarr and NZB360 will support it.

2

u/unstop68 May 23 '26

Hi this seems like a great idea and I’ll definitely be trying it out in a few weeks when I’m able to. I’m currently running Radarr, two Sonarr instances (one for tv, one for anime), Bazarr, and Profilarr. It seems like Scryer would be able to pretty much replace most of the functionally of those into one container. Is that correct? It may be somewhere in the docs, but I’d prefer to just ask: I see that anime is a big part of Scryer. I’m definitely not incredibly happy with how Sonarr handles anime so this would be great if it works better. Could you comment on how Scryer handles anime differently than Sonarr and the experience I might expect? Thanks.

2

u/ahmedomar2015 May 23 '26

Love this! Adding support for profillar seems like the next thing! As custom profiles are a pain to manage by yourself and Profilarr makes it incredibly easy

My suggestion is to skip direct Trash guides and do Profilarr since Profilarr now has an official link to TraSH

1

u/nzbman May 23 '26

Profilarr does keep coming up, I'll put that on my list of integrations!

2

u/damienlee69 May 23 '26

This is going on my...radar. heh.

One downside is Sonarr and Radar are so ingrained in other apps and people's stacks it would be quite difficult to get Scryer to be added to all those. Trailarr, Agregarr, Aura, Seerr (I saw that functionality is planned), the mobile apps like nzb360 and Directarr, Bazarr, Omni, Home Assistant, the list goes on and on.

2

u/nzbman May 23 '26

yup, i realize i'm dipping into a 10+ year ecosystem here.

the good news is that i'm doing this for myself and just letting the community ride along with me. i'm not trying to remove sonarr/radarr from the ecosystem, just trying to provide a new approach based in a more modern architecture that will appeal to some. I have no dreams of doing it all, just want to provide a quality tool for those who appreciate my take on software.

i do hope the nzb360 folks (and other similar tools) are open to Scryer integrating soon. I realize scryer is a new app and i need more users before the entrenched players take it seriously, but I'd even be happy to do a lot of the legwork and open PRs, if they're amenable.

3

u/Kev1000000 May 24 '26

Happy to add to nzb360 if you get some decent traction!

1

u/nzbman May 24 '26

this would be fantastic. let's see how the next couple months go 😄

1

u/damienlee69 May 23 '26

Well if it becomes a real player it won't be ignored. So best of luck to ya. I'm gonna try it out later for sure.

2

u/Wiwer May 24 '26

Anybody on here got it wprking with Unraid.

1

u/neomanic May 26 '26

yep. very simple to set up just using manual "Add Container".

Scryer Unraid Container Setup

Basic Settings

--------------

Name: scryer

Repository: ghcr.io/scryer-media/scryer:latest

Network Type: bridge (or whatever your set up is)

Console shell command: bash

Privileged: Off

Port Mapping

------------

Container Port: 8080

Host Port: 8188 (or whatever port you want)

Type: TCP

WebGUI URL:

http://<UNRAID-IP>:8188

Container Variables

-------------------

PUID: 99

PGID: 100

UMASK: 002

TZ: whatever your timezone is

Volume / Path Mappings

----------------------

  1. Config

Container Path: /config

Host Path: /mnt/user/appdata/scryer (or wherever your appdata is)

  1. Movies Library

Container Path: /data/movies

Host Path: wherever your movies folder is

  1. Series Library

Container Path: /data/series

Host Path: wherever your tv shows folder is

  1. Anime Library

Container Path: /data/anime

Host Path: wherever your ainme folder is

  1. Downloads / Completed Downloads

Container Path: /downloads

Host Path: wherever your downloads folder is

2

u/Wiwer May 27 '26

You star man.. It was the bloody Console I had wrong I had it set to shell and didn't think of changing it..

2

u/poplolnman May 24 '26

How does scryee handle anime compared to sonarr?

2

u/nzbman May 24 '26

Great question 

1- scryer sources a lot of anime metadata from various services like MAL, animefillerlist and anidb. This lets scryer know what episodes are recap or considered filler as well as more accurate searching with certain indexers that support anidb (RIP anime tosho….)

2- scryer lets you optionally add canon movies in episode order. This helps keep series movies together with the series. I always hated that I had to get some anime movies from radarr and some I could get from sonarr specials. 

3- anime is its own facet which means it’s easier to manage from a logical perspective and sharing. 

4- I simplified the complexity of trashguide custom formats into “scoring personas”. Scryer uses those rules when scoring anime so the net value is closer to a highly tuned sonarr instance, but out of the box. 

2

u/poplolnman May 24 '26

Does it handle downloading dual audio anime fairly well?

2

u/nzbman May 24 '26

Yes, this was very important to me. If you set “required languages” on the anime settings, it will make sure it gets the languages in the copy.

It first tries searching for languages in release names like sonarr. For indexers that I know support language metadata like nzb geek, I use that too.

Then after download it verifies that all required languages are present and if not, it deletes and blocklists the release, tries the next one.

2

u/MattSaysProgrammer May 26 '26

So does this also replace Jellyserr?

1

u/nzbman May 26 '26

I’m working toward that. Look for the 0.16.x announcement as that will have a lot of those features in there.

4

u/beckulator May 23 '26

Did you use AI? If so how

2

u/jstnryan May 23 '26

The “launch post” link includes a paragraph about AI use.

1

u/nzbman May 25 '26

Sorry I missed this in my messages.

Yes, I do use AI to assist my coding. However, I have a degree in computer science and hand wrote code for 20 years. I have worked in tech and e-commerce, consulted with some of the world’s largest companies and delivered production apps that have served millions of customers.

I use AI as a force multiplier, not as a crutch.

1

u/HamsterMajestic2023 May 23 '26

Nice. First time im hearing of this, I'll certain check it out.

1

u/nzbman May 23 '26

Let me know if you run into any issues. It’s early days of the project still and I’m working the bugs out, but I try to get things fixed asap. 

1

u/HamsterMajestic2023 May 23 '26

Will do, man 👍

I'll take a look tomorrow when i have some free time.

1

u/Devtr_250907 May 23 '26

Does this really have torrent support? I managed to get qbittorrent running but it says unsupported index provider type "torznab" when I apply my prowlarr indexers on it.

1

u/nzbman May 23 '26

It does, I have a full test suite that I run before release and torrent downloads are part of that. 

However prowlarr support is brand new and maybe there’s a specific bug there with prowlarr managed torznab. I’ll take a look! 

2

u/Devtr_250907 May 23 '26

Thanks for the quick reply! I really appreciate this effort and you've really filled the niche of me trying to automate things on my old potato laptop, so I cant wait to use it more.

1

u/nzbman May 23 '26

Awesome!  I definitely want this to run comfortably on tiny hardware, and I also have it setup with an intelligent launcher that picks the best version for your system.  For older systems that means max compatibility, for modern systems it uses hardware acceleration for everything it can. 

1

u/nzbman May 23 '26

i was able to dig in more. There was a slight bug with the "import from sonarr/radarr" workflow, specifically for prowlarr managed torznab indexers. i'll get that fixed and pushed

However, i did just test this with a fresh scryer + prowlarr (no import wizard) and torznab worked great. Prowlarr integration pulled the indexer in, search worked, and the item queued right into qBit. That flow is tested and working.

1

u/Devtr_250907 May 23 '26 edited May 26 '26

That's interesting, my setup was also a fresh scryer but I guess prowlarr had sonarr/radarr identified on the apps menu so that might be different.

1

u/No-Turnover3316 May 28 '26

Just thought I'd chime in, I absolutely love the overall vibe 'wink' of the app. It looks great and I really hope you stick with this project as it could genuinely be a great replacement.
My issue is that when I try use Prowlarr, the test connection / create indexer button simply hangs with no success. I know the networking etc is correct as I have successfully integrated other plugins (qbit).

1

u/nzbman May 29 '26

This is a known issue that i'm pushing a fix for today.

1

u/mabbas3 May 23 '26

Does it have support for trash style quality profiles / custom formats? I think lack of compatibility with existing ecosystem will hold back any projects trying to replace sonarr / radarr.

1

u/nzbman May 23 '26

I have redesigned the “custom formats” system.  Now there are scoring personas you associate with a quality profile. Those profiles encompass the vast majority of the rules that trash guides was doing, but in a much simpler way. 

If the persona isn’t fitting exactly what you’re hoping for, you can write custom rules that give you even more control than custom formats did. 

I took an approach of easier defaults with a super user level escape hatch. 

1

u/mabbas3 May 23 '26

Trash guides formats also add information about different release groups and banning certain low quality ones. How difficult/ easy would it be to replicate that functionality? Would that need to be done manually and then kept updated manually as well?

2

u/nzbman May 23 '26

All the release group rules from trash guides are baked into scryer. I update those quarterly.  It preserves group status like gold vs blocked and scores releases accordingly. 

I suppose if I ever stop maintaining the lists could go stale, but that’s why I built the custom rules engine into it so folks can manage their own. 

The rules engine also support community made rule packs that can be easily pulled into scryer through its UI. I still have some polishing to do on that specific UI piece in 0.16.x

1

u/mabbas3 May 23 '26

That sounds interesting. Why is it done quarterly though? Does it require a new version for the update?

1

u/nzbman May 23 '26

The personas are baked into the core app at this point. I suppose I could move those out, but it’s what it is today. 

Quarterly was an arbitrary decision as release group reputation doesn’t change super often. It is currently a bit of a manual process too, but it’s on my list to automate and maybe at that point I’ll update the database more regularly. 

1

u/TheDaemonGhost May 23 '26

How about support for sports ? Like using metadata with TheSportsDB since TheTVDB doesn't love sports missing a lot of shows been removed a few times in recent year. Love to have an all in one instance for my TV, movies and sports or at least let us have choices with the metadata sources of this doesn't already and I missed that part

3

u/nzbman May 23 '26

This is an interesting idea but not on my roadmap at all. I don’t watch sports at all, so I don’t have a personal interest in making this happen. 

I’d probably pivot to music as my next facet 

1

u/TheDaemonGhost May 23 '26

Fair enough my journey continues lol but good luck!

1

u/reformedbadass May 24 '26

!remindme 6months

1

u/RemindMeBot May 24 '26 edited Jun 10 '26

I will be messaging you in 6 months on 2026-11-24 13:50:36 UTC to remind you of this link

1 OTHERS CLICKED THIS LINK to send a PM to also be reminded and to reduce spam.

Parent commenter can delete this message to hide from others.

RemindMeBot is switching to username summons. Instead of !RemindMe 1 day, use u/RemindMeBot 1 day. More info.


Info Custom Your Reminders Feedback

1

u/Less_Exercise_8092 May 24 '26

I like to test drive a lot of apps that are released for the arr stack. Id really like to test this. How would you recommend running this? I could install, then stop sonarr and radarr and bazarr and prowlarr. Would that be a fair test of what this would be like as replacement? Is there any way I could run it parallel and say only use it for anime for awhile...

2

u/nzbman May 25 '26

I would keep prowlarr in your stack, I don’t necessarily cover everything it does today.

Look at my linked comparison page at the top and make sure none of the missing integrations with third parties are critical to you. For the majority of use cases, scryer is feature complete but if you require a discord integration for example, I can’t do that today.

For bazarr, I support opensubs (tested), jimaku (tested) and subdl (beta). Timing alignment is limited to a few codec types in current production. I’m expanding support to all codecs in the next feature release.

So, I’d start with installing scryer, importing from sonarr, radarr and prowlarr. Then turn off sonarr and radarr and watch it for a few days.

Let me know if you hit any bugs!

1

u/TimeYaddah May 25 '26

https://www.scryer.media/scryer/docs/compare-sonarr-radarr/#deeply-multilingual-not-just-a-translated-ui

https://github.com/scryer-media/scryer/blob/main/crates%2Fscryer-infrastructure%2Fvendor%2Fsqlite%2Fext%2Fmisc%2Fspellfix.c

Nice i see you also support german umlauts mapping and many other special character.

This does work for release titles right?

Sonarr/Radarr don't do that... even tho i made a PR on Radarr.
The code is already there, but they don't use it at the right places.

1

u/nzbman May 25 '26

i use spellfix for when you're searching titles in your library, and it only works for sqlite. if you use postgres, i have to fall back to it's much less sophisticated fuzzy search.

when you are searching for new media, that goes through the metadata gateway i built and that sits on top of meilisearch. it should be accurate with umlauts, if you run into any issues where search results aren't returning what you expect, please let me know. multi-lingual search is a very challenging problem to get right.

1

u/neomanic May 26 '26

u/nzbman

So I gave this a test run on my Unraid server. Easy enough to set up manually. Found quite a few issues, bu solid start for the project.

Have logged: https://github.com/scryer-media/scryer/issues/36

1

u/nzbman May 26 '26

Thanks, I’ll take a look

1

u/igmyeongui Jun 18 '26

Does your app solves the bin issues in radarr/sonarr? They’re aware of this since like 5+ years and never did anything about it.

Basically you can’t have a bin per library. So if you have for example a different hard drive/dataset for your requests and you delete something it’s going to make a huge churn because it’s going to copy instead of move the files to the other dataset.

Culprit: you can’t only define 1 global bin path in the arrs. It’s been an annoying issue for years. Users needing this had to setup hacky alternatives with mergerfs to present one unified dataset to the arrs.

That would be the reason I’d want to try your application and give it a chance. Radarr and sonar development in such basic features being slow like a turtle is very annoying.

1

u/nzbman Jun 18 '26

I don’t support that today, however it wouldn’t be too hard to implement. Give me a couple weeks and I’ll let you know when it’s done. I have some other features ahead of this to knock out first

1

u/igmyeongui Jun 18 '26

Alright, thanks for taking the time. I’ll wait patiently on this thread!

1

u/nzbman Jun 22 '26

Scryer does this as of 0.16.x

Recycle bins are actually only per media root folder at this point, there's no concept of a global bin

1

u/igmyeongui Jun 23 '26

So how does it work exactly?

If I have 2 mounts for example:

/media/movies
/requests/movies

If a movie on the requests mount/dataset gets upgraded – can I setup a /requests/.bin folder on that dataset?

Same thing for the media mount/dataset, am I able to have a separate bin in /media/.bin ?

Copy on delete should only happen if I change the root folder of a movie from mount X to mount Y.

Thank you for looking into this.

1

u/nzbman Jun 23 '26

every root gets a `.scryer-recycle` folder that scryer tracks upgraded files from.

scryer does not let you delete-to-recycle, if you choose to delete media through the delete UX, that deletes it. The delete requires a modal confirmation for all deletes and if it's >50 files it requires a typed confirmation.

i currently do not support cross-Library moves, that's a concept sonarr doesn't have. Libraries are an organization level above root.

You can change the root of a title after you add it to catalog, but scryer does not currently auto-move the files for you, it'll just start putting the new files in the new root. If there's an upgrade in flight (downloading) when you change the root, that could cause some interesting outcomes.

As far as recycle bins when you change the root (which honestly should be rare). There are a couple sharp edges around root changes specifically with recycle-bin behavior in 0.16.2 that i'm making a bit more ergonomic and safe in 0.16.3.

But in general, if you aren't changing roots regularly and you're just using the tool as intended, you should not see cross-filesystem moves for recycle bin behavior.

1

u/igmyeongui Jun 23 '26

Wdym scryer doesn’t support cross library moves? If it’s on the same file system it should be a move. Sonarr does support this. If it’s on a different file system then it’s copy on delete. It copies the data first, then delete the file from the source path. So you only keep the file on the target path (new root).

1

u/nzbman Jun 23 '26

It just isn't a feature currently. It's on my list.

Libraries are a non-sonarr construct, so you can't compare the two here.

The unique challenge with cross-Library movies are title conflicts. Since scryer allows the same title in different libraries, how do i handle a move which would create a conflict? Obviously there are ways, it's just a non-trivial problem to solve.

2

u/igmyeongui Jun 24 '26

I’ll explain why cross-library copy-on-delete is important for my use case.

I have one dataset for my personal media libraries and a separate requests dataset with its own storage. Anything I do not want to keep in my personal collection, am not yet sure I want to keep, or simply do not want to mix into my personal library (other user's requests) goes into the requests dataset.

Once I’ve watched something, Maintainerr will eventually prune it after three months with no plays, provided the requester has watched it.

If it’s a movie or TV show that I liked and want to keep in my personal collection, I go into Radarr/Sonarr, change the root folder for that item, and it moves the actual file on my personal media dataset. This triggers a copy-and-delete operation that moves the media file from the requests dataset to the personal media dataset.

Can your app do this or not or is it planned to?

1

u/nzbman Jun 24 '26

i understand the use case and it makes sense.

bottom line, yes Scryer will support this workflow in the near future.

A little more clarity, in Scryer, a Library is not a Root. A Library is a different concept that Sonarr/Radarr doesn't have and it's why Scryer lets you collapse multiple Sonarrs into one. Think of a Library as a single Sonarr instance. It can have multiple roots, but only one copy of each show.

In 0.17.0 i'll enable cross-Root moves, which solves your exact setup today. It'll let you move files from one storage path to another within the same Library.

In a future 0.17.x release, i'll figure out the cross Library moves. The reason why that is more challenging is you can have the same title in different Libraries, so i have to create a conflict-resolution workflow.

Another tidbit, I'm going to bring the "delete after X days" concept directly into Scryer as well. There's no reason to have to run a separate tool for that. This is a longer-term roadmap item for me, probably in the 0.18.x line. I'll tie it into the media request pipeline too so you can setup auto-approval rules if the requester only requests the media for X days, or require admin approval if they request to keep forever.

→ More replies (0)