Bookshelf: Self-hosted eBook library that runs on object storage

Bookshelf – Self-hosted eBook library that runs on object storage

Bookshelf: Self-hosted eBook library that runs on object storage

Bookshelf is a self-hosted library for your own ebooks, served as a single searchable page with built-in EPUB and PDF readers. It runs either as a Cloudflare Worker over R2 or as a Node server over a directory, with no database. A sync tool builds the library and publishes it to storage, and a demo command generates a shelf of public-domain titles for testing. Storage providers are pluggable, and the project is MIT-licensed.

There is no authentication. Anyone who can reach the app can read and download the whole library, so put it on a network you trust or behind something that asks who is calling.
  1. murerkinn

    Hi, author of Bookshelf here. It’s great to see the interest in the project, thanks everyone for the feedback and discussion.

    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.

  2. philips

    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.

  3. phildenhoff

    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?

  4. bordercontrol

    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.

  5. BloodyIron

    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!

More from this day

2026-08-25