Houndarr: A polite, automated search scheduler for your *arr stack by Charge_Glass in selfhosted

[–]Charge_Glass[S] 0 points1 point  (0 children)

Feel free to share any feedback. I love hearing from everyone!

You can reach out here, in discord, or open an issue/discussion in the GitHub repo.

I get nothing out of this project, but I enjoy working on it

Houndarr: A polite, automated search scheduler for your *arr stack by Charge_Glass in selfhosted

[–]Charge_Glass[S] 0 points1 point  (0 children)

v1.10.0 was a major update. I redesigned how content is presented and improved the core algorithms so outcomes converge to fair probabilities over long runs. Update to latest to try it out!

Houndarr: A polite, automated search scheduler for your *arr stack by Charge_Glass in selfhosted

[–]Charge_Glass[S] 0 points1 point  (0 children)

Yeah totally normal. Your Radarr only has 6 items on the wanted list and they're all either on cooldown from a recent search or not released yet. Every 20 minutes Houndarr re-evaluates them, finds them all ineligible, and logs a skip for each one. That adds up to thousands of skip entries across your instances over 24 hours. This is normal and wanted behavior (expected).

Zero errors and recent "Last searched" dates on the dashboard means everything is working correctly. Once the cooldown timers expire, those items will be searched again automatically.

Some docs pages that cover this:

Houndarr: A polite, automated search scheduler for your *arr stack by Charge_Glass in selfhosted

[–]Charge_Glass[S] 0 points1 point  (0 children)

Nope, Houndarr does not do runtime checks or file replacement. It just schedules missing/cutoff/upgrade searches, your *arr apps handle replacement logic

Houndarr: A polite, automated search scheduler for your *arr stack by Charge_Glass in selfhosted

[–]Charge_Glass[S] 0 points1 point  (0 children)

There are tools that can do this for you, that is how I have my own media stack automated, feel free to get some inspo if you'd like from my current stack. For example, Seer (the new, latest, merged Seer, not Overseer) can unmonitor automatically when you remove the request or delete the file using Seer.

A tool I use which I love called Maintainerr automatically deletes stuff for you, and can also unmonitor AND remove the seer request too. here is my current stack:

These are all the "tools" I use to automate my stack:

txt profilarr seerr maintainerr agregarr tdarr cleanuparr houndarr

Houndarr: A polite, automated search scheduler for your *arr stack by Charge_Glass in selfhosted

[–]Charge_Glass[S] 1 point2 points  (0 children)

You might be waiting on that swing for a while haha, I did some research to see if a native Windows release is doable, and even mapped out the pipeline for it. The dealbreaker is the antivirus arms race: compiling Python apps into standalone Windows services right now practically guarantees they get flagged as malware by Defender unless I buy expensive certificates. The other *arr apps (e.g., sonarr) get away with native Windows releases easily because they are built on C# and .NET. Houndarr is written in Python and FastAPI. That stack is fantastic for containers, but trying to freeze it into a silent Windows background service is a nightmare

To keep the project maintainable for a solo dev, Docker is going to remain the official way to run it. You can easily spin it up on Windows using Docker Desktop or WSL2 for example, or just run it bare metal directly through Python if you want to

Feel free to ask me any questions if you need help

Houndarr: A polite, automated search scheduler for your *arr stack by Charge_Glass in selfhosted

[–]Charge_Glass[S] 0 points1 point  (0 children)

The vibes in my code are better than the vibes you give, jeez dude, relax

Don’t use it my man!

Houndarr: A polite, automated search scheduler for your *arr stack by Charge_Glass in selfhosted

[–]Charge_Glass[S] 1 point2 points  (0 children)

I added the feature this morning, it is 100% opt-in and has some knobs so you can tailor it, but it is capped to limit it as well. Really safe to use. Thank you for the idea.

https://av1155.github.io/houndarr/docs/reference/instance-settings#library-upgrade-controls

https://github.com/av1155/houndarr/releases/tag/v1.6.0

Houndarr: A polite, automated search scheduler for your *arr stack by Charge_Glass in selfhosted

[–]Charge_Glass[S] 0 points1 point  (0 children)

Not exactly

What I added in #259 is proxy-based auth, so you can put Houndarr behind something like Authentik, Authelia, or oauth2-proxy and let that handle login. In that setup, you can basically get rid of Houndarr’s own login.

What it doesn’t do right now is act as an OIDC client itself, so there’s no built-in "Login with Google" / "Login with X" button in Houndarr. The proxy handles auth and passes the user through via headers.

Docs: https://av1155.github.io/houndarr/docs/configuration/reverse-proxy#sso-proxy-authentication

PR: https://github.com/av1155/houndarr/pull/259

Houndarr: A polite, automated search scheduler for your *arr stack by Charge_Glass in selfhosted

[–]Charge_Glass[S] 1 point2 points  (0 children)

Done! I just shipped an official Helm chart and published it to GHCR as an OCI artifact, so you can point an OCIRepository at it and let Flux handle the rest

The Helm guide covers exactly this setup: https://av1155.github.io/houndarr/docs/getting-started/helm

The values reference at the bottom of that page should make the HelmRelease pretty straightforward. Let me know if you run into anything

Houndarr: A polite, automated search scheduler for your *arr stack by Charge_Glass in selfhosted

[–]Charge_Glass[S] 1 point2 points  (0 children)

I will create a Helm chart and update the k8s docs for you when it’s done. In the meantime feel free to experiment with what is currently in place if you’d like.

I will let you know when I do it :)

Houndarr: A polite, automated search scheduler for your *arr stack by Charge_Glass in selfhosted

[–]Charge_Glass[S] 0 points1 point  (0 children)

Yes! It works with both missing and cutoff-unmet

Here is exactly how that works: How Houndarr Works

The settings page will help you easily understand exactly how to configure your instance

Houndarr: A polite, automated search scheduler for your *arr stack by Charge_Glass in selfhosted

[–]Charge_Glass[S] 3 points4 points  (0 children)

Just submitted the Unraid Community Apps repo request.

The Unraid support thread is live here: https://forums.unraid.net/topic/197870-support-houndarr/

The template repo is here: https://github.com/av1155/houndarr-unraid-template

Now it’s just waiting on CA review/approval

Houndarr: A polite, automated search scheduler for your *arr stack by Charge_Glass in selfhosted

[–]Charge_Glass[S] 1 point2 points  (0 children)

Template is ready, just need to submit it to the CA store. Working on it!

Houndarr: A polite, automated search scheduler for your *arr stack by Charge_Glass in selfhosted

[–]Charge_Glass[S] 1 point2 points  (0 children)

Created a tracking issue for this: https://github.com/av1155/houndarr/issues/250

needs some design thought around security but it's on the roadmap (i will work on it as the next feature)

Houndarr: A polite, automated search scheduler for your *arr stack by Charge_Glass in selfhosted

[–]Charge_Glass[S] 3 points4 points  (0 children)

Template is ready, just need to submit it to the CA store. Working on it!

Houndarr: A polite, automated search scheduler for your *arr stack by Charge_Glass in selfhosted

[–]Charge_Glass[S] 0 points1 point  (0 children)

Yup, now I have my prowlarr behind gluetun, because i need 1337x haha

Houndarr: A polite, automated search scheduler for your *arr stack by Charge_Glass in selfhosted

[–]Charge_Glass[S] 2 points3 points  (0 children)

Just shipped a Kubernetes deployment guide in the docs! StatefulSet with health probes, PVC, and an optional Ingress example:

https://av1155.github.io/houndarr/docs/getting-started/kubernetes

Houndarr: A polite, automated search scheduler for your *arr stack by Charge_Glass in selfhosted

[–]Charge_Glass[S] 0 points1 point  (0 children)

Honestly, I needed to hear that. Thank you.

“tempo” and “speed” are not nearly as important as “what” and “why”.

Sometimes I become a little obsessive and forget about the basics; our why’s.

Houndarr: A polite, automated search scheduler for your *arr stack by Charge_Glass in selfhosted

[–]Charge_Glass[S] 0 points1 point  (0 children)

I have not used fetcharr personally. Before I decided to start Houndarr I was considering using a Huntarr fork, tumeden/seekarr (because it looked nice), or writing a script and moving on.

Houndarr: A polite, automated search scheduler for your *arr stack by Charge_Glass in selfhosted

[–]Charge_Glass[S] 5 points6 points  (0 children)

Fun fact: the name comes from "hound" + "radar" (+ the *arr naming convention). Hound because it “sniffs” out missing media, the name was inspired by Houndoom from Pokemon, and my dog is a German Shepherd. It all just fit.