#Booklore
if you're looking for a good self-hosted ebook library thing - and who ISN'T these days!!!! this one so far has been pretty good
GitHub - booklore-app/booklore: BookLore is a self-hosted app for managing and reading books & comics (PDF, EPUB, CBZ) with metadata editing, OPDS, reading progress, and multi-user support.
BookLore is a self-hosted app for managing and reading books & comics (PDF, EPUB, CBZ) with metadata editing, OPDS, reading progress, and multi-user support. - booklore-app/booklore
github.com
October 3, 2025 at 2:56 AM
Historical Reading Habit: Until the 17th century, most people read aloud! Silent reading became common later. Imagine bustling ancient libraries! 🗣️ #HistoryOfReading #BookLore
August 2, 2025 at 7:47 AM
Self-Host Weekly (2026-03-13)

#Booklore turns sour, #software updates and launches, a spotlight on #OpenDroneLog, and more in this week's #selfhosted recap!

selfh.st/weekly/2026-...

#selfhost #selfhosting #bluesky #newsletter #foss #opensource #homelab #devops #sysadmin #privacy #smarthome
Self-Host Weekly (13 March 2026)
Searching for the next "claw", Booklore goes nuclear, and sourdough starters
selfh.st
March 13, 2026 at 12:12 PM
booklore is tainted
January 9, 2026 at 3:33 AM
Spun up a #Booklore instance. Looks great and works with my existing Calibre library out of the gate. Looking forward to tinker this weekend! #Selfhost

https://github.com/booklore-app/BookLore
GitHub - booklore-app/booklore: BookLore: A self-hosted, multi-user digital library with smart shelves, auto metadata, Kobo & KOReader sync, BookDrop imports, OPDS support, and a built-in reader for EPUB, PDF, and comics.
BookLore: A self-hosted, multi-user digital library with smart shelves, auto metadata, Kobo & KOReader sync, BookDrop imports, OPDS support, and a built-in reader for EPUB, PDF, and comics. - b...
github.com
November 14, 2025 at 3:54 PM
無料でKobo・KOReader同期・EPUB・PDF・マンガ用リーダーを備えたセルフホスト型のマルチユーザーデジタルライブラリ「Booklore」
https://gigazine.net/news/20260215-booklore/
無料でKobo・KOReader同期・EPUB・PDF・マンガ用リーダーを備えたセルフホスト型のマルチユーザーデジタルライブラリ「Booklore」
自分だけの電子書籍ライブラリサイトが無料で構築でき、家族や友人とも共有可能なマルチユーザー対応の電子書籍ライブラリサーバー「Booklore」が公開されています。
gigazine.net
February 15, 2026 at 12:00 PM
Booklore, evtl?
May 9, 2026 at 10:43 PM
This weekend I have to edit a new episode of The Bootloader. But next weekend's project is set: I'm going to install Booklore for managing my ebooks. booklore.org
Welcome to Booklore | Booklore
Organize knowledge. Preserve lore.
booklore.org
February 26, 2026 at 12:16 AM
📦 adityachandelgit / BookLore
⭐ 1,677 (+50)
🗒 Java

BookLore is a web app for hosting, managing, and exploring books, with support for PDFs, eBooks, reading progress, metadata, and stats.
GitHub - adityachandelgit/BookLore: BookLore is a web app for hosting, managing, and exploring books, with support for PDFs, eBooks, reading progress, metadata, and stats.
BookLore is a web app for hosting, managing, and exploring books, with support for PDFs, eBooks, reading progress, metadata, and stats. - adityachandelgit/BookLore
github.com
June 28, 2025 at 6:02 PM
There are 9 hidden phrases in Dry Run. Decode the mystery. DM us the full list and win a signed copy and shoutout.

Start digging - a.co/d/0Rd5gLa

#BookLore #HiddenInThePages #DryRunPuzzle #ThrillerTrivia #SuperFanChallange
May 14, 2025 at 4:34 PM
Added #Booklore to my homelab and I'm really impressed. It loaded the books I got from itch sales no problem. The interface is pretty slick too
GitHub - booklore-app/booklore: BookLore: A self-hosted, multi-user digital library with smart shelves, auto metadata, Kobo & KOReader sync, BookDrop imports, OPDS support, and a built-in reader for E...
BookLore: A self-hosted, multi-user digital library with smart shelves, auto metadata, Kobo & KOReader sync, BookDrop imports, OPDS support, and a built-in reader for EPUB, PDF, and comics. - b...
github.com
December 6, 2025 at 9:57 AM
#podcast
Nouvelle semaine, nouvel épisode
2026 - Semaine 23 - BookLore est mort, vive Grimmory
2026 - Semaine 23 - BookLore est mort, vive Grimmory
2026 - Semaine 23 - BookLore est mort, vive Grimmory
semaine-de-valkann.lepodcast.fr
June 8, 2026 at 11:00 AM
Clearly the focus is not on vetting the alternatives. I made a minor change in Booklore (mentioned as a Calibre alternative). Its codebase has plenty of vibe-coded stuff, starting with the docs.
January 8, 2026 at 9:02 PM
Self-Host Weekly (2026-03-27)

A #GitHub PSA, software #updates and launches, a spotlight on #Kaneo, and more in this week's #selfhosted recap!

selfh.st/weekly/2026-...

#selfhost #selfhosting #opensource #foss #homelab #bluesky #privacy #sysadmin #devops #smarthome #development #newsletter
Self-Host Weekly (27 March 2026)
Controversial donation banners, Booklore successors, and a public service announcement for GitHub users
selfh.st
March 27, 2026 at 12:09 PM
Busy day 😁
Morrow Audiobook Player for your self-hosted audiobook player needs is now available on Apple TV as well!!
#audiobookshelf #bookorbit #grimmory #booklore #iOS #tvOS #appletv

apps.apple.com/us/app/morrow-…
September 17, 2026 at 4:48 PM
This Week in Self-Hosted (2025-04-04)

#Plex mobile app refreshes, #software updates and launches, a spotlight on #BookLore, and more in this week's #selfhosted recap!

selfh.st/newsletter/2...

#selfhost #selfhosting #foss #opensource #homelab #newsletter #jellyfin #privacy #homeassistant
This Week in Self-Hosted (4 April 2025)
Self-hosted news, updates, launches, and content for the week ending Friday, April 4, 2025
selfh.st
April 4, 2025 at 11:59 AM
Migrating From Booklore to Calibre-Web
A few weeks ago, I migrated our e-book library to Booklore. Unfortunately, it seems that I backed the wrong horse: Booklore has since ceased to exist. Unfortunately, toxicity isn't uncommon in open source projects, so I'm not going to add to it by talking much about the context behind Booklore being deleted. However, as it's relevant to a decision that I made in this process, I _will_ say that I was already a little concerned about the ongoing quality of Booklore, so it doesn't surprise me _too much_ to hear that other people were being quite vociferous about the developer's use of AI coding tools (amongst other, IMO bigger, issues). Whatever the rights or wrongs of it, Booklore's repo no longer exists, having been deleted along with the project's Discord and website. There **is** a fork (called Grimmory) that I could have switched to. However, given that I already had some quality concerns with Booklore, I decided that I didn't want to gamble on the new fork's ability to clear through tech debt. I'll _probably_ check back in six months to see how things have progressed though. Instead, I decided to move to Calibre-Web Automated (CWA). It's a fork of Calibre-web with some additional functionality like Smart shelves and KOReader sync support. Both Calibre-Web and CWA consume an existing Calibre format library. Although I still had my original Calibre library, I'd since added a number of new books to Booklore. Rather than risking mistakes by manually identifying and adding them, I decided to migrate the entire library from Booklore into Calibre-Web as if I'd simply had a filesystem directory full of ebooks. * * * ### Deployment Just as with Booklore, I wanted to store books on the host's SSD rather than accessing via NFS. So, I created a couple of directories mkdir -p /home/ben/docker_files/files/calibreweb/{config,books,import,ingest} I then added a service to my `docker-compose`: calibreweb: image: crocodilestick/calibre-web-automated:latest container_name: calibreweb environment: - DOCKER_MODS=linuxserver/mods:universal-calibre - PUID=1000 - PGID=1000 - TZ=Etc/UTC ports: - "8083:8083" volumes: - /home/ben/docker_files/files/calibreweb/config:/config - /home/ben/docker_files/files/calibreweb/books:/calibre-library - /home/ben/docker_files/files/calibreweb/ingest:/cwa-book-ingest # Temporary - used for the migration - /home/ben/docker_files/files/calibreweb/import:/import restart: unless-stopped For convenience, I set `PUID` and `PGID` to match the UID/GID of the user that I log into the host as, ensuring that there'd be no permissions mismatch. Calibre Web Automated supports something akin to Booklore's "bookdrop" - a directory that's watched for new books to automatically import (found at `/cwa-book-ingeest` within the container). Because Calibre Web runs from SQLite databases, there was no need for a separate database instance this time. I brought the container up: docker compose up -d By default, Calibre Web uses some pretty poor default creds: `admin` / `admin123`. I was able to use these to login at `http://<host ip>:8083`. * * * #### Library Import With the service stood up, the next step was to import my library. I was initially migrating to Calibre-Web rather than Calibre Web Automated1, so there wasn't an ingest dir to drop books into and, as well as copying e-books over, I needed to build a library database for Calibre Web to consume. Helpfully, there was a tool for this, so I stopped the container and copied files into a temporary location: docker stop calibreweb cd ~/docker_files/files/booklore/books cp -r default_library/* ../../calibreweb/import/ docker start calibreweb Then, I invoked `calibredb` to build the database: docker exec -it calibreweb calibredb add -r /import --library-path=/books This sat for a bit, copying e-books to `/books` and building a database at `/books/metadata.db`. The command ran as `root` though, so I also needed to correct permissions: docker exec -it calibreweb bash -c 'chown ${PUID}:${PGID} /books/metadata.db' I didn't even need to restart the container, the web interface displayed all my books. Before moving on, I changed the admin creds and created an unprivileged user. * * * ### Reverse Proxy Config I want to be able to sync books (and reading status) when out and about, so needed to update my Nginx proxy config. Rather than creating a new subdomain (and getting a cert etc) I decided to reuse the name that I'd been using for Booklore. To start with, I just updated the `proxy_pass` directive in my Booklore proxy: location / { proxy_pass http://192.168.13.25:8083; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header Host $http_host; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Port $server_port; proxy_hide_header X-Powered-By; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; client_max_body_size 20m; proxy_buffer_size 128k; proxy_buffers 4 256k; proxy_busy_buffers_size 256k; add_header X-Clacks-Overhead "GNU Terry Pratchett"; include /etc/nginx/auth.include; } However, this turned out to be a bit of a mistake. Calibre-Web seems to be picky about the headers that it receives and ignores requests that don't meet its criteria. This meant that: * I could reach the login page, but couldn't log in - the request would just timeout (packet captures showed the request coming in and CWA not responding, logs didn't show _anything_) * Kobo Sync was broken - at one point it wouldn't work at all, then after some playing around it worked but couldn't fetch cover images Both of the above were only an issue when going via the reverse proxy - going direct to the container's port worked just fine. Calibre-Web's documentation gives a much simpler Nginx configuration example, so I switched to something more like that: location / { proxy_pass http://192.168.3.25:8083; proxy_set_header Host $http_host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Scheme $scheme; client_max_body_size 20m; proxy_buffer_size 128k; proxy_buffers 4 256k; proxy_busy_buffers_size 256k; add_header X-Clacks-Overhead "GNU Terry Pratchett"; include /etc/nginx/auth.include; } The issues went away. I haven't yet, but at some point I'll probably satisfy my curiosity by progressively reintroducing headers to see what was breaking it. * * * ### Kobo Sync One of the things that drew me to Booklore in the first place was it's Kobo sync support. Both Calibre Web and CWA support syncing to Kobos, but the functionality is disabled by default: * `Admin` * `Edit Basic Configuration` * `Feature Configuration` * `Enable Kobo Sync` * `Proxy unknown requests to Kobo store` * Set `Server External Port` to 443 (ready for use with my reverse proxy) Users need to create their own Kobo tokens, so I logged into my unprivileged account and clicked my users avatar. At the bottom of the profile page is a button to create and view a sync token: There's also an option to only sync specific shelves to the Kobo (preventing CWA from trying to send your entire collection) I created a shelf called `Kobo` and ticked the option to sync it: I connected the Kobo to my laptop, mounted it and then edited the Kobo's config file: cd /media/ben/KOBOeReader/.kobo/Kobo nano Kobo\ eReader.conf I scrolled down to `[OneStoreServices]`, located the `api_url` line that I'd added when configuring for Booklore and updated it to use the value that CWA had given me: [OneStoreServices] api_endpoint=https://ebooks.example.com/kobo/<my token> After saving, exiting and unmounting the device, I was able to hit `Sync` and have the Kobo retrieve the books that I'd added to my Kobo shelf. * * * ### OPDS and KOReader Sync Calibre-Web and CWA both have OPDS support enabled by default, so I just needed to update my settings in Readest and KOReader: * URL: `https://<domain>/opds` * Username: My calibre-web username * Password: My calibre-web password KO Sync support was slightly different. Calibre-web automated doesn't support KOReader's built in progress sync and instead provides a custom KOReader plugin. The functionality is not enabled by default so needed to be turned on in the Admin settings (`Settings` -> `CWA Settings` -> `Enable KOReader Sync`). I then needed to install the plugin into KOReader on my Kobo: cd /media/ben/KOBOeReader/.adds/koreader/plugins wget https://<calibre web domain>/static/koplugin.zip unzip koplugin.zip rm koplugin.zip I unmounted the Kobo and then launched KOReader. I verified that plugin was enabled: * Tap the top to open the Nav bar * Settings (the spanner and screwdriver) * Page 2 * `More Tools` * `Plugin management` * Verify that `CWA Progress Sync` is ticked After that, the plugin showed up on the navigation menu: Tapping into the menu displays two options * Set CWA Server: set this to `https://<calibre domain>` * Login: Use your CWA creds Unfortunately, the need for an additional plugin meant that I couldn't set up progress sync in Readest on my phone. Although I'd have liked that to work, it's not really the end of the world. * * * ### Lack Of Multi-Library Support Migrating from Booklore does mean that I've lost one thing. In Booklore, I'd created a second user for me to use from work devices - it only had access to a single small library (consisting of a handful of books that I've read for work). Unfortunately, CWA doesn't currently support multiple libraries2 and there isn't a way to restrict which books a user can see (a user can apply filters to themselves, but there's nothing that can be _enforced_ at admin level). This isn't currently a major drama: I've not yet torn down the calibre content-server based solution that I stood up last year so I'll probably continue using that for now. Once I'm sure that I'm happy with CWA, I can either stand up a second instance or wait for multi-library support to land. * * * ### RAM Usage In my previous post, I called Booklore out for being a RAM gobbler, so it's only really fair that I talk about how CWA looks in comparison The answer is "it depends": The drop on the 19th was me switching over to Calibre-Web Automated, but we can see that usage has been gradually increasing. Sadly, I don't think that there's a huge amount of difference here. * * * ### Conclusion I wasn't expecting much friction anyway, but once I stumbled onto `calibredb` the migration proved to be even more straightforward than I'd expected. The only thing that had worried me was whether there'd be any jiggery-pokery required to get my Kobo to talk to a new server, but it really was as simple as editing the config file. Hopefully this install will last quite a bit longer than Booklore managed to. * * * 1. If you're wondering, migrating from Calibre-web to Calibre-web automated was **really** simple: I updated the image in `docker-compose` and changed the library mount from `/books` to `/calibre-library` before re-running `docker compose up -d` ↩ 2. The README suggests that the feasibility of introducing multi-library support is being looked into ↩
www.bentasker.co.uk
March 21, 2026 at 10:45 AM
Простите Господи, мне было лень перекидывать книжки на планш по кабелю, так я ещё и в библиотеке порядок навёл, тоже залил на сервер и поставил Booklore
Какое-то обсессивное желание наводить порядок и все бекапить
September 11, 2026 at 6:18 PM
Welp.. Looks like I can scratch "try Booklore as a Calibre replacement" off my to-do list.

It appears that Booklore just got added to the "vibe-coding dev nuked their app after the Internet came 'a-pitchforkin" list...

#selfhosting #huntarr #booklore #calibre #ai
March 13, 2026 at 1:12 AM
I am discovering Kobo reader firmware lets its user freely change the API endpoint it relies on, and that Booklore exists - free software server to host my own books. That unexpectedly rekindles my interest in someday getting an e-reader.
GitHub - booklore-app/booklore: BookLore: A self-hosted, multi-user digital library with smart shelves, auto metadata, Kobo & KOReader sync, BookDrop imports, OPDS support, and a built-in reader for E...
BookLore: A self-hosted, multi-user digital library with smart shelves, auto metadata, Kobo &amp; KOReader sync, BookDrop imports, OPDS support, and a built-in reader for EPUB, PDF, and comics. - b...
github.com
December 16, 2025 at 4:00 PM
BookLore je Jellyfin pro mé eKnihy a je to mnohem zajímavější, než jsem si představoval.
BookLore is Jellyfin for my eBooks, and it's far more interesting than I imagined
The only app I need to own my reading
www.xda-developers.com
October 9, 2025 at 6:22 PM