6 months ago I posted here about Kavita, an open source application that I have been working on that aims to be Plex for reading, and in these past 6 months I’ve yet again delivered so much that it warrants an update to this subreddit.
Last Post: https://www.reddit.com/r/selfhosted/comments/139te6y/kavita_plex_for_reading_an_update/
What is Kavita?
Kavita is a fast all-in-one reading server which supports comics, manga, and books out of the box, making it easy to share your entire collection with friends and family. Kavita supports a wide range of formats (including epub and pdf), has responsive built-in readers, and offers OPDS-PS support for external reader support.
What’s new in the last 6 months:
- Automatic Collections/Reading Lists: Kavita now can build out Collections and Reading lists from ComicInfo.xml and Epub’s OPF formats. Configurable in your library settings if you want disabled.
- Kavita+: A subscription service (to support me) that expands Kavita’s ability into external metadata. Unlocks Scrobbling to AniList, External Ratings, External Reviews, Recommendations (and even recs that you don’t own).
- Personal Bookmarks: The ability to bookmark any text in an epub and quickly jump back to it. Great for cookbooks where you want to save your favorite recipies.
- Localization: Full localization support via Weblate with quite a few fully translated languages
- In Depth Metadata Filter: Completely rewrote the metadata filter to allow ANDing and ORing with a crazy number of potential fields to query against then the ability to save these as Smart Filters, which can be found to Side nav or Dashboard.
- Customization: All users can now customize their side navs and dashboard and bind Smart Filters (aka Metadata Filter query saved) to either, turn on/off any item and reorder them.
- OPDS Rework: Tons of OPDS Polish to make the experience top notch and pushing as much metadata as possible to the user in a way that works in as many apps as possible. Lots of extra flattening as well (a big critique on Kavita’s implementation)
- A ton more (just look at the release notes from here)
If you want to check it out for yourself, we have a demo available on our site:
What you are making honestly has no use to me, but I have been following none the less. It is an interesting bit of kit. Keep up the effort, it is not terrible to use for the bit I have used it. As others said of course though, a phone app would be the king. Sadly you also can’t benefit those users of other tablets for reading like Kindle. Using the email service is so hacky and just not great from a user experience.
Yeah, those kindle-like devices really suck in that there is no way to load a modern website on them, you have to maintain a non-modern javascript app. It’s just a ton of maintenance and extra testing that I’d have to do to support them. I haven’t found the email service to be that bad, but agree, the extra step is annoying.
Phone app is coming for sure. It’s always been in my vision for the software because I got to have a better Sync support than Plex. I’ve been hinting at it in my past 4 release notes, basically this 0.7.x are all massive foundational changes that are required before I can even think about starting on mobile development.
Once we get a good, well priced E-ink tablet. I think e-readers are going to become much more common. But sadly every company wants to stuff them full of things that the display just isn’t really good for. Like the Huawei MatePad should have 2 weeks of battery life easily. But instead they put an OS on it that eats battery and it barely lasts a full day.
What I think would be a good thing to start looking into as you progress, is the ability to take these scans and other items and turning them into actual text. This can give you more freedom and make the user experience much better. Like the ability to take a book and turn the bright white pages into a much friendlier dark mode for night reading. This could also mean, when E-ink tablets do start becoming easier to own. You will be able to easily adapt to them.
I love Kavita, I just wish it had an Android app for page synchronization
Seems like you’re not reading my release notes because a mobile app is something I’m looking at building for Kavita.
Although CDisplayEx does have this out of the box if you buy it (I believe it’s a one time)
I did read the notes actually, after going back now there is 1 brief mention of it so you’ll have to excuse me for missing that. Just to reiterate, I don’t read comic books or manga so I’m not going to buy a cbr reader to read my books.
That was a joke btw about the notes as most people don’t read them and they are usually notoriously long.
Yeah, there really aren’t any book readers that support page synchronization, like at all. It could be due to not many projects existing or because epubs are quite complicated and with virtual paging, it can be very difficult to store progress back that would be beneficial to the user.
I think most users either download them or realistically save the web app to their homescreen and use the built-in reader, which is pretty good.
Moon+ reader supports it, I can sync from my phone to tablet. It uses Google drive to handle it.
But only with itself. It doesn’t sync the state to e.g. a Calibre library, which is what I’ve always wanted.
Oh, and the state tracking is filename dependent if memory serves.
lmao I actually did read the notes first before I commented, funnily enough. Thanks for the reply and thank you so much for Kavita. I’m sure the mobile app is brought up constantly to you and is a source of friction. Have a great weekend!
Haha, you’d be surprised, it’s not brought up that much. It’s more about me wanting to build something that has A+ support on sync and fits within the UX I like.
On android, CDisplayEX can be used to sync read progress and it has direct API access to kavita. It doesn’t use OPDS. You’ll have to get the pro version of it to hook up to external sources though.
Don’t have any idea on how to implement it IMHO you need to add some kind of support for e-readers like Kindle and etc. Some people read on theirs PCs but the reading experience it’s much better on readers devices.
You can host your own kavita email service to send books to kindles. Amazon devices don’t have 2 way communication so they can’t report read progress back to the server.
I never read on my PC personally. The app is more aimed for using on your tablet. Kindle isn’t trivial because it doesn’t support modern js. So it’s not really feasible, hence why we allow you to setup a Kindle on your account and then send files directly to it (or other devices/email).
Any way to get Kavita+ as a one-time payment? I really, really hate subscriptions.
Sadly no it seems, gladly nothing crucial is locked behind it.
If general metadata scraping is locked behind that and no one-off payment is offered, I’ll keep using Komf. If hard wishes get pay walled that way, not sure if that’s compatible with my acceptance.
I’d gladly even regularly donate or something, but if I get the feeling features get DRM’d I’m not sure, I want to trust my library to that.
Fortunately I feel the developer is very aware of self-hoster mindsets and so far obvious limitations that other products would have locked in haven’t happened so far.
I fricking hate calibre as a service, gonna give kavita a try
Just know it is not a metadata editor, like Calibre. It’s focused on Exploration of your media and consumption. You’ll still need to boot up Calibre to get the metadata into your epubs.
When I saw the first post of this app, I installed the docker version and added my collection of RPG PDFs. It didn’t go so well because it took a while to understand indexing methods.
So, I switched to my comic collection. Then everything started to fall into place. I used Comic Screen as my reader on my tablet and didn’t like the navigation for new content. I opened the browser to Kavita and pinned the page to my homescreen. Now it looks and feels like the Plex app and love the On Deck when new comics come in.
UI still needs a lot of work.
- All Series or your library view
- Kavita doesn’t support adding via the UI nor likely will. But you can add it to the underlying storage and either use the API to trigger a scan, the UI, or just let the folder watcher do it’s thing and scan it in for you.
- Into a reading list? Usually I bulk select items and use the context menu to add to a reading list, but I think CBL import is much more flexible and easy for big reading orders.
- You can remove them via internal metadata or just remove them from the UI. Not sure if you’re asking for something else.
- The pencil item
- On Deck is in progress or recently released chapters of a series you might have finished but new stuff was released. You can remove it via Customize Dashboard.
- See above.
- You can’t remove Home
- I’m not sure why you would. No program to my knowledge has no cover art.
I would highly recommend you visit our Wiki to learn about how to use Kavita. A lot of your questions indicate that you haven’t played around much with it.
Nevermind. I am not going to use this. I was looking on the wikipedia and Kativa+ and saw this gem.
Planned:
Find non-owned series by Person (like Authors)I am not paying $4 a month for a bunch of stuff I will not use to get the feature I want.
Also prolly explains why you cant search by author.
I am using the Demo by the way. So maybe the Demo needs to be updated? I am not seeing a lot of what you are talking about.
- Neither of those options work. Certain things get grouped. Like the Amazing-Man Comics. That is grouped. That doesn’t show the different books in the series. A cool idea would be options for different groupings and to disable it entirely.
- Boo.
- No, I mean the view. I hate icon view. I would like lists view like when you get to the list of books in a series.
- I don’t see this option in the Demo.
- I don’t see this option in the Demo.
- I don’t see this option in the Demo.
- I don’t see this option in the Demo.
- Boo.
- I guess this more the hate I have for icon view.
Also, different issues.
- When trying to filter, there is no option for Author or Illustrator. Can I add those, just not in the demo?
- Is there an option to at least remove the cover from the series summary that I am not seeing in the Demo?
- Is there an option to disable the translucency/fake glass effect not present in the demo?
- In the Book list, can we get an option in the menu to skip to reading to save the clicking and scrolling?
If you’re using the demo, you’re not going to be able to do a lot of the things, because you’re not the owner of the server.
You would be able to import a cbl or create a manual reading list, but some things are admin only, like editing metadata from the UI. Would be weird if a random user on your server could grief your metadata.
There is actually a feature request for using a non-card based view for rendering out series, but not many people from the community have shown interest.
> When trying to filter, there is no option for Author or Illustrator. Can I add those, just not in the demo?
Wow, what a find. I can’t believe it was missed in 3 releases now. I’ll add those in the next release.
> Is there an option to at least remove the cover from the series summary that I am not seeing in the Demo?
No, the cover images are how nearly every server works. Although, we do have custom theme support, so you probably could easily by using a custom theme for yourself.
> Is there an option to disable the translucency/fake glass effect not present in the demo?
No option needed. You can use a custom theme and just override those variables so it can be to your liking.
> In the Book list, can we get an option in the menu to skip to reading to save the clicking and scrolling?
I didn’t fully understand what you’re asking but for the epub reader, it will save where you scrolled to and resume that when you open. If you’re seeing it different, it is likely due to people being on the demo, as a new release just came out today.
Nevermind. I was browsing the wiki and came across this gem.
Planned:
Find non-owned series by Person (like Authors)I am not paying $4 a month for a bunch of features I don’t want or need to get the one I do.
Is the flattening what causes chapter 0 of a volume to sync as the full volume to Tachiyomi which then reports back the entire volume as read to Kavita? (if Kavita is enabled as progress tracker)
No. Tachiyomi uses the API directly, but has some hacks in the code, because of Tachiyomi’s architecture. Chapter 0 of a volume means the whole volume is represented in that one file. So if you read it in Tachiyomi, then you’d expect the whole volume to be read in Kavita.
Flattening is where if you have just loose leaf chapters and no volume, Kavita would originally serve as the DB ordered it, so you’d have to click through a pointless Volume 0. Now, everything is put in one and minimized as much as possible to get you to your media as quick as possible.
Ah okay, thank you for explaining! :) still think 0 numbered chapters would need to be handled differently, really threw me off big time when I encountered this problem.
If it’s a Tachiyomi problem, chapter 0 of K-On! on Mangadex works as expected?
Yeah I’m not sure since I don’t use tachiyomi, but when things don’t work as expected, I would encourage you to raise a ticket. That way the dev (of the tachiyomi plugin) can investigate.
Good point, I forgot for a second that you don’t also make the Tachiyomi extension, which has otherwise been a trusty buddy for me.
Have you fix comics not working when they’re bunch of images in a folder?
Have you fix the books that just doesn’t mystérieux not import?
For the first one, there is actually a discussion about the whole loose leaf image feature:
https://github.com/Kareadita/Kavita/issues/2154Not sure without more information. Kavita has a Media tab now that will tell you when epubs don’t import (almost always due to bad internal structural metadata). A quick pass through Calibre or Sigil fixes it.
Not sure from tone of voice if you use Kavita or not, but if you do, sounds like you should voice your opinion on that discussion on the feature as I’ll be making my decision soon on it.
I have it deployed and I liked it until I imported my comics and found out it didn’t work. The other issue was annoying and I kinda gave up and stopped using Kavita for now. I’ll have a look at it again and report my issue as well. Glad to know there’s now a feature for seing non imported stuff.
Please make permalinks to pages! The builtin pdf.js in firefox can also do #page1 #page999 it would be cool if you could also highlight text light that…
Please through up some feature requests (highlighting is an existing one). Otherwise, it wont happen as I look at the feature requests site each release to pick a few that make sense to me or the community wants.
https://feats.kavitareader.com/
I will definitely give it a try. Thanks for the update and the presentation!
Using readarr (with goodreads bookshelf) connected to calibre-web. Then was using calibre but friends hated the UI for reading (granted calibre has kobo integration). So using Kavita and its awesome for downloading and reading in browser.
Highly recommend for anyone who uses their browser to read. Super clean UI
What is this goodreads bookshelf in Readarr?
Its a list. So it can sync in a users shelf. I use it like a request tool
Really? I’ll have to investigate this further. I’ve been looking at ways to interact with Goodreads, but due to lack of API, only scraping methods are there, which are subpar.
Thanks!
I’ve been really enjoying Kavita. It’s the best reader I’ve used.
I did have to get on top of standardizing the metadata of my epub collection though because Kavita seems to really rely on that for sorting stuff.
f there’s a method to edit the Metadata of the epub and write it back to the file that I haven’t found that would be great.
I got you. We have a wiki article just for this thing:
https://wiki.kavitareader.com/en/guides/misc/calibreI guess that’s the point. That’s absolutely the only thing i run calibre for. I would like to not have to.
Haha I’ve said this myself many times as well, but you can’t just write an opf editor, otherwise you already have Sigil. You have to have metadata scraping and that just adds complexity.
Hope you do write one because we all need it.
I really like Kavita. I started using it just a few weeks ago in an effort to expand my media library. It’s running alongside my video media library.
I love that it’s a web reader, but I’m excited for the app to come out. That would complete the experience for me as I’d rather have downloads managed by an app than have to handle the files on my local device.
For the time being, Tachiyomi provides an ample experience.
Obviously, a native dedicated app would integrate a lot more tightly, but you might want to give it a try. It can be set to auto-download and auto-delete based on some rules you can alter to some extent. (but it can work manually as well)
Good job. I installed it this week and no problems so far 👍 It suits my needs perfectly for now.
Glad to hear it :)