eol's blog

A modern reading system with koreader, calibre web and ko sync

Last week, I compiled KOReader for my old inkbook eReader.

Since then, I installed kosync and calibre web for a more streamlined experience

kosync

Sometimes, I read on my phone. It is very annoying to find where I left the book when I pickup my other, more confortable device.

I installed koreader-sync-server and now, all my devices are synchronizing the progress. What I found though, is that the files md5sum tended to changes between device, so I have to use the filename, a less robust method to determine the book.

kosync run using openresty, a lua engine for nginx.

Calibre Web

I used to transfer book to my ereader by spinning a temporary web server in the directory where the file were. This was not very confortable, since the screen is very small, the on screen keyboard quite crappy and unresponsive.

KOReader have a plugin to access OPDS catalogs. I installed calibre-web, which I will use to host my books. I used the AUR

I can then access them directly from KOReader, meaning that when I find a book (in epub, pdf or anything), likely on my computer, I can then upload the file to the calibre server, convert it if needed, and then, later, when I get to reading it, I just open the OPDS browser in calibre and download the file from there

issues

Calibre-web doesnt allow for uploading file bigger than 200M. This should be plenty for most book, by in my case, the first I tried was almost 300M. This can be fixed by editing the cps/server.py file, line 245 at the time of writing, and bumping it to 536870912. This should align with the reverse proxy configuration, namely the nginx client_max_body_size. Otherwise, the proxy will kill the request.

Also, remember to allow upload both to the server, and to the specific user you intend to use. Else, you wont be able to add any books :)

I’ll get back to reading now…