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.
How do you manage your reading progress?
Bookshelf is still very early. The main goal has always been to keep the infrastructure as minimal as possible while still giving you a library you fully control. I never intended to turn it into a hosted service that everyone signs up for. I’d rather make it easy for people to host their own library with little to no ongoing cost.
The demo currently runs on Cloudflare Workers and R2, and their free tiers are more than enough for this use case. Setup is also fairly straightforward. I’d like to keep it that way while adding more storage and deployment options so people can choose whatever works best for them.
I’m also planning to improve the reader UI quite a bit, and I’m considering a bundled app for different platforms with things like offline reading.
There’s still a lot to figure out, so I’d be very interested to hear more ideas, feature requests, and use cases people would like to see supported.
Wouldn't that be easier to manage?
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.
I think asking every self-hosted app to implement their own encryption is a massive waste of resources. If you need the data encrypted, it should be handled by a dedicated app like Cryptomater or at the OS level.
Thanks for bringing this up and for the detailed comment!
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?
https://www.reddit.com/r/selfhosted/comments/1tqia6s/i_bench...
I have no relation to BookOrbit except I'm a very happy user.
Not necessarily re: resource usage but rather: it does a lot more than what I have any interest in using. I just use it to expose books to my 2 ereaders (via OPDS) and to sync reading progress (via koreader-sync).
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.
npm being npm.
(I have my Calibre library in iCloud Drive, but if I wasn't inside the Apple Ecosystem I'd use R2)
I wanted something with as little infrastructure as possible, ideally no database or additional services to maintain, while still having my library available anywhere. Object storage fit that pretty well, especially with things like R2 where the free tier is already more than enough for a personal ebook library.
That said, I don’t want Bookshelf to be tied to one particular setup forever. The plan is to keep the core idea of minimal infrastructure, while adding more storage/deployment options over time.
Looking forward to seeing what comes next for Bookshelf!
If there would be just anything actually good. But for some reason they all have just very basic organisation-levels, and barely any support for handling custom data from calibre.
For some reason, streaming ebooks seems to be also not existing. One can either download the whole book, or use some lousy in-browser-reader. So strange how the ebook-world has no decent software for selfhosting.
Most applications just use epub.js which needs the whole book loaded at once.
Edit: Also Kavita does support some calibre tags for metadata and def is much more customizable with a powerful filtering system which you can then bind to your dashboard/side nav.
www.kavitareader.com for those that might be interested (or check the wiki to get a bit more about it).
FWIW the tool I’ve built has no built-in ereader because I use apps like Apple Books or my kobo to read. i don’t need another half-built ereader
Like this self-hosted project aims for "simple deployment"/less infra, but I can't imagine how you end up at "use Cloudflare proprietary offerings" and reconcile that with "self hosted".
But if you host the node app yourself and point it at your own seaweedfs/minio/garage that's still more infra than node process+SQLite file.
Custom fields for metadata and accessibility from different devices. Usually there is only hardcoded metadata, tags or categories and one or more systems for collections. And moving data between different software is also quite limited of course.
At the moment I manage everything with calibre on desktop, and use calibre-sync(?) on mobile which has full support for calibres metadata, including the custom fields. But it has no builtin reader and a very unoptimized interface. So the whole handling is very cumbersome, I have to first filter for what I seek, then download it, then change to the reader-app, and maybe organize the file there too, and afterwards I have to delete the local file and manage stuff on desktop like read-state, rating, etc.
Also here are the links to the mobile apps:
https://apps.apple.com/us/app/storyteller-reader/id647446772...
https://play.google.com/store/apps/details?id=dev.smoores.St...
On-device alignment is coming in Storyteller v3 apps.