BookLore is a self-hosted web app for organizing and managing your personal book collection. It provides an intuitive interface to browse, read, and track your progress across PDFs and eBooks. With robust metadata management, multi-user support, and a sleek, modern UI, BookLore makes it easy to build and explore your personal library.
- 📚 Powerful Book Organization: Keep your library organized with Libraries and Shelves. Sort by genre, author, or mood to find books easily.
- 🧠 Intelligent Metadata Management: Fetch rich metadata from Goodreads, Amazon, Google Books, Hardcover, and more, or fine-tune details with the advanced editor.
- 👥 Multi-User Access with Permissions: Add users, assign libraries, and control who can edit, upload, or download. Great for families, friends, or teams.
- 📖 Built-in PDF, ePub, and CBX Reader: Enjoy a smooth, distraction-free reading experience in your browser, with theme and setting options.
- 🌐 OPDS 1.2 Integration: Connect BookLore to favorite reading apps with full OPDS support for seamless downloads.
- 🔐 Flexible Authentication: Secure your library with optional OIDC login (Authentik, Pocket ID) or local JWT, your choice.
- 📤 Smart Batch Upload with BookDrop Folder: Drop dozens of books into the BookDrop folder; BookLore scans, organizes, and fetches metadata automatically.
- 📧 Send Books by Email: Easily share books by sending them directly via email from within BookLore—one click delivery.
- 📱 Mobile-Optimized UI: Responsive design for phones and tablets lets you manage your library anywhere.
- 🔄 Open Source & Self-Hosted: Full control of your digital library with open-source, self-hosted BookLore.
- 🚀 Active Development: Continuous improvements with regular updates to features, UI, and performance.
If you find BookLore helpful, please consider supporting its development:
- ⭐ Star this repository to show your appreciation and help others discover it.
- 💸 Contribute via Open Collective to help fund development, hosting, and testing costs.
📌 Currently raising funds for a Kobo device to implement and test native Kobo sync support.
💡 Support the Kobo Sync Bounty → - ⚡ Prefer one-time support? You can also donate via Venmo.
Try it for yourself with the public live demo, sponsored by ElfHosted ❤️, using the following details:
- User: bookgeek
- Pass: elfhosted
(the demo resets every hour, on the hour, no copyrighted content uploads please)
Kick off your BookLore journey with our official documentation and helpful video guides.
📘 BookLore Documentation: Getting Started
Our up-to-date docs walk you through installation, setup, configuration, and key features, everything you need to get up and running smoothly.
🎥 BookLore Tutorials: YouTube
These older videos provide useful walkthroughs and visual guidance, but note that some content may be outdated compared to the current docs.
You can quickly set up and run BookLore using Docker.
Ensure you have Docker and Docker Compose installed.
Create a docker-compose.yml file with content:
Note: You can find the latest BookLore image tag BOOKLORE_IMAGE_TAG (e.g. v.0.x.x) from the Releases section: 📦 Latest Image Tag – GitHub Releases
Run the following command to start the services:
Once the containers are up, access BookLore in your browser at:
BookLore now supports a Bookdrop folder, a special directory where you can drop your book files (.pdf, .epub, .cbz, etc.), and BookLore will automatically detect, process, and prepare them for import. This makes it easy to bulk add new books without manually uploading each one.
- File Watcher: A background process continuously monitors the Bookdrop folder.
- File Detection: When new files are added, BookLore automatically reads them and extracts basic metadata (title, author, etc.) from filenames or embedded data.
- Optional Metadata Fetching: If enabled, BookLore can query metadata sources like Google Books or Open Library to enrich the book information.
- Review & Finalize: You can then review the detected books in the Bookdrop UI, edit metadata if needed, and assign each book to a library and folder structure before finalizing the import.
To enable the Bookdrop feature in Docker:
BookLore supports optional OIDC/OAuth2 authentication for secure access. This feature allows you to integrate external authentication providers for a seamless login experience.
While the integration has been tested with Authentik and Pocket ID, it should work with other OIDC providers like Authelia as well. The setup allows you to use either JWT-based local authentication or external providers, giving users the flexibility to choose their preferred method.
For detailed instructions on setting up OIDC authentication:
- 🐞 Found a bug? Open an issue
- ✨ Want to contribute? Check out CONTRIBUTING.md
- 💬 Ask questions or share feedback: Discussions
- 💬 Join our Discord: Click here to chat with the community
Thanks to all the amazing people who contribute to Booklore.
- GNU GPL v3
- Copyright 2024-2025
.png)


