If it is helpful to other people here is how I manage my ebook library with flatfiles and heterogeneous devices (Android, macOS, iOS, Kindle, etc)
I have my own eBook library hosted with copyparty. It is a single binary. Runs on plain files. And speaks OPDS for integration with KOreader (Kindle) or Readest (iOS/macOS). https://github.com/9001/copyparty#opds-feeds
It also speaks webdav so I can quickly sync everything via rclone to an SD card on devices like an Android tablet.
I really like the convenience of flat files and multiple protocols.
Client side end to end encryption is a must have for me when hosting anything nowadays. I am using Cryptomator for this specific reason. It takes away a lot of legal questions because I only need to curate the data to serve my own needs and do not have to curate it for state actors too.
I really wish client side end to end encryption would become more widespread in the developer community. It is not hard to implement anymore and takes away all the headaches of having to comply with certain regulations.
There are so many laws now that regulate copyright and hosting. An accidentally public S3 bucket full of ebooks could technically land you in jail in certain jurisdictions. Automatic shutdown notices. Providers themselves may also automatically scan stored material, and so on. There are so many reasons not to host your media library unencrypted on a third party server.
I recommend using this kind of tool only if you can prove that you are legally allowed to possess every ebook you upload in every jurisdiction you travel to or live in, as well as in the jurisdiction where the server is located.
Does anyone have a solution for reading progress sharing across macos library (now using calibre) and moonreader+ on android? What about highlights sharing?
Having built a tool in this space, I enjoy seeing all the Calibre alternatives that have been coming out in the last few years! It's fascinating to see the specific wants that people have.
Bookshelf, for example -- what possesses someone to make an ebook library that _only works on object storage_? Is this a weekend project, answering the question of "what would this look like"? Or was it something the author wanted for a long time?
I absolutely love audiobookshelf for audiobooks. And I currently use it for my epubs, but it does not handle that particularly well. It doesn't save progress consistently and the UI for page flipping leaves a lot to be desired. Definitely going to check out how OP's library works
You should check out Storyteller. It aligns ebooks with audiobooks to create EPUB3s with media overlays so you can do immersive reading. It also gives you a place to organize your audiobooks and epub library.
Not to hijack but for non object storage use cases I’ve been using Grimmory[1] and like it. Opds, kobo api, kindle email and web reader cover pretty much every use case.
Calibre is a local single user software. There are tools like calibre-web that bring a calibre backend into a multiuser web application but even then you are not supposed to host the calibre database on network storage IIRC.
Grimmory is a web application first which is what I want. Access for my friends and, more importantly to me, an always online library with progress sync across all my reading devices.
Calibre still has some good use cases though like drm stripping and has a better workflow for heavy metadata editing, but my book sources generally come drm free and have good metadata.
I haven't spent much time with calibre-web in a long time but can confidently say BookOrbit blows it out of the water in terms of functionality. I love that I can have one app that handles books and audiobooks. The ecosystem of apps that work with it is growing quick too, Apogee for iOS being a standout for me. They recently added readaloud support (like Amazon Whispersync or Storyteller) natively in the app, which I've never seen done before.
I have no relation to BookOrbit except I'm a very happy user.
The storyteller mobile apps have supported readaloud for years. You can even set different playback speeds for readaloud vs listening, so when you background the app or lock your phone screen, it will switch from the readaloud speed to the listening speed. I typically use like 2.25x for readaloud and 1.5x for listening.
If it is helpful to other people here is how I manage my ebook library with flatfiles and heterogeneous devices (Android, macOS, iOS, Kindle, etc)
I have my own eBook library hosted with copyparty. It is a single binary. Runs on plain files. And speaks OPDS for integration with KOreader (Kindle) or Readest (iOS/macOS). https://github.com/9001/copyparty#opds-feeds
It also speaks webdav so I can quickly sync everything via rclone to an SD card on devices like an Android tablet.
I really like the convenience of flat files and multiple protocols.
Client side end to end encryption is a must have for me when hosting anything nowadays. I am using Cryptomator for this specific reason. It takes away a lot of legal questions because I only need to curate the data to serve my own needs and do not have to curate it for state actors too.
I really wish client side end to end encryption would become more widespread in the developer community. It is not hard to implement anymore and takes away all the headaches of having to comply with certain regulations.
There are so many laws now that regulate copyright and hosting. An accidentally public S3 bucket full of ebooks could technically land you in jail in certain jurisdictions. Automatic shutdown notices. Providers themselves may also automatically scan stored material, and so on. There are so many reasons not to host your media library unencrypted on a third party server.
I recommend using this kind of tool only if you can prove that you are legally allowed to possess every ebook you upload in every jurisdiction you travel to or live in, as well as in the jurisdiction where the server is located.
RIP Aaron Swartz.
Does anyone have a solution for reading progress sharing across macos library (now using calibre) and moonreader+ on android? What about highlights sharing?
I also want to know this.
Having built a tool in this space, I enjoy seeing all the Calibre alternatives that have been coming out in the last few years! It's fascinating to see the specific wants that people have.
Bookshelf, for example -- what possesses someone to make an ebook library that _only works on object storage_? Is this a weekend project, answering the question of "what would this look like"? Or was it something the author wanted for a long time?
Why not Calibre-Web Automated?
https://github.com/crocodilestick/calibre-web-automated
I'm a fan of audiobookshelf. Don't let the name fool you, it does a lot! I use it for podcasts, audio books, & ebooks. It's great!
I absolutely love audiobookshelf for audiobooks. And I currently use it for my epubs, but it does not handle that particularly well. It doesn't save progress consistently and the UI for page flipping leaves a lot to be desired. Definitely going to check out how OP's library works
You should check out Storyteller. It aligns ebooks with audiobooks to create EPUB3s with media overlays so you can do immersive reading. It also gives you a place to organize your audiobooks and epub library.
Not to hijack but for non object storage use cases I’ve been using Grimmory[1] and like it. Opds, kobo api, kindle email and web reader cover pretty much every use case.
[1] https://github.com/grimmory-tools/grimmory
This looks really good. Would you mind sharing why you decided not to go for Calibre?
Calibre is a local single user software. There are tools like calibre-web that bring a calibre backend into a multiuser web application but even then you are not supposed to host the calibre database on network storage IIRC.
Grimmory is a web application first which is what I want. Access for my friends and, more importantly to me, an always online library with progress sync across all my reading devices.
Calibre still has some good use cases though like drm stripping and has a better workflow for heavy metadata editing, but my book sources generally come drm free and have good metadata.
For someone looking for a bit more than this, I recently got Bookorbit running and its quite powerful for being so young. https://bookorbit.app/
Have you done calibre web or others? How does it compare?
I haven't spent much time with calibre-web in a long time but can confidently say BookOrbit blows it out of the water in terms of functionality. I love that I can have one app that handles books and audiobooks. The ecosystem of apps that work with it is growing quick too, Apogee for iOS being a standout for me. They recently added readaloud support (like Amazon Whispersync or Storyteller) natively in the app, which I've never seen done before.
I have no relation to BookOrbit except I'm a very happy user.
The storyteller mobile apps have supported readaloud for years. You can even set different playback speeds for readaloud vs listening, so when you background the app or lock your phone screen, it will switch from the readaloud speed to the listening speed. I typically use like 2.25x for readaloud and 1.5x for listening.
I don't think calibreweb is that old, are you thinking of the calibre webserver?
About five hundred dependencies (give or take).
npm being npm.
I've been using Readest (https://web.readest.com/) but I'll definitely be checking this out.
Does Calibre support S3 these days as a storage backend?
No but you can use s3fs
(I have my Calibre library in iCloud Drive, but if I wasn't inside the Apple Ecosystem I'd use R2)
Now if only I had a good self hosted object store option
Garage?
https://garagehq.deuxfleurs.fr/
Ceph muahaha
VersityGW is very handy.
RustFS