bayang / jelu

Self hosted read and to-read list book tracker
MIT License
311 stars 12 forks source link

Feature Request: Readarr integration #99

Open M-Davies opened 5 months ago

M-Davies commented 5 months ago

Might be out of scope for the project so feel free to close if it's a bit off topic.

It would be useful if there was functionality implemented that connected a user's readarr instance to Jelu. The result could be something like Overseerr or Jellyseerr that will automatically start downloads for books on a user's read list if it's setup.

The flow could be something like:

  1. Admin sets up Jelu and Readarr. They input the Readarr server details and credentials into Jelu.
  2. There could be some option that determines when Jelu will send a request to Readarr to search for something. E.g. if a user adds a book to their "Read Later" list, it will automatically send a request to Readarr to start a download
  3. When Readarr finishes the download (or fails to find/finish it), it sends a notification back to the user and a download ebook link on their page.

Currently, nothing like this appears to exist for ebooks, so it would be filling a hole in the self hosting community. However, it's probably a non-trivial feature to implement.

Happy to provide more context if needs be.

bayang commented 5 months ago

Why not. But instead of tying this kind of feature to a specific app, I would prefer make it a general "hooks" system. For instance when a book is added to the to read list a specific hook would be triggered that could call lots of external different services. I'm not an *arr user myself so I don't know the ecosystem. I need to think about it. Just to help me think, can you tell me if readarr exposes an API and if yes, how much data is needed to call readarr and add a specific book to a download list (title, authors, isbn, user infos etc...) ?

M-Davies commented 5 months ago

That sounds a lot better yeah 👍

Readarr has an API https://readarr.com/docs/api/ Authentication is done via an API key the user can view in the settings. So you'd need to store that within Jelu somewhere secure so Readarr and Jelu can talk to each other.

To give an overview of the process from the GUI on my readarr:

I believe you can do all this via the API and maybe cut out a couple of these steps (e.g. maybe you can search for and download a book directly without having to add the author first)

bayang commented 5 months ago

Ok, I'll need to look at the API, it sounds a bit involved to just be a simple hook call. Thank you for documenting your request.

jordanlambrecht commented 1 month ago

Upvoting this because Jelu is seriously the closest any service comes, and it's a huge gap in the community. It's so weird that it hasn't been filled yet. It would be awesome if you were the first.