bookbag
Fork of Calibre-Web Focused on UI and UX improvements.
What is it?
What it is
Bookbag is a self‑hostable, open‑source web interface for Calibre libraries, built in Python with Flask. It is a fork of Calibre‑Web that replaces the original UI with a modern, responsive design while keeping all core Calibre‑Web features such as Kobo sync, email to e‑reader, LDAP, OAuth, and magic links.
Why it exists
Bookbag was created to provide a cleaner, faster, and more user‑friendly experience for Calibre library users. It adds instant filtering, advanced search, a one‑page settings editor, an easy setup wizard, and an advanced web reader, all while removing telemetry and tracking. The goal is to give self‑hosted book collections a polished front‑end without sacrificing functionality.
Who should use it
Tech-savvy users, developers, librarians, or individuals seeking a customizable self-hosted book management system with advanced features like instant filters and search. Those comfortable with Docker, server setup, and open-source customization.
Who should avoid it
Users requiring a stable, production-ready solution without setup overhead. Non-technical users or those prioritizing security without thorough testing. Organizations needing guaranteed uptime or compliance.
How it works
A quick walkthrough in plain English
How bookbag works
Step 1 of 3
You interact with it
Open bookbag, send a request, or connect it to your stack.
Features
Advantages
- Improved UI/UX compared to the original Calibre-Web
- High performance with instant UI updates for filtering and sorting
- Privacy-focused design with no telemetry
- Flexible deployment via Docker
- Retains core functionality of the upstream Calibre-Web project
Disadvantages
- Early stage of development with potential bugs and vulnerabilities
- Not recommended for public servers or primary use yet
- Many features (like Kobo Sync and LDAP) require further testing
- Responsive design and dark mode are still in progress
Installation
native
$(brew --prefix python@3.14)/bin/python3 -m venv venv source venv/bin/activate pip install -r requirements.txt -r optional-requirements.txt
FAQ
How do I install and run Bookbag using Docker?
Download the provided docker-compose.yml from the repository, edit the file to replace "PATH/FOR/YOUR/LIBRARY/FOLDER" with the absolute path to your Calibre metadata.db and book files, and "PATH/FOR/YOUR/CONFIG/FOLDER" with the path where you want Bookbag to store its configuration. Map a host port to container port 8084 if desired. Then run `docker compose up -d` to start the container. The web interface will be available on the mapped port.
What are the key features that differentiate Bookbag from the original Calibre‑Web?
Bookbag offers a complete UI redesign with instant filters, search, sort, and cover resizing. It includes advanced search across all metadata, a single‑page advanced settings panel, an easy setup wizard for admin account and library creation, an advanced web reader with customizable fonts, themes, and layout, and a one‑time‑password flow for password resets and public registrations. It retains core Calibre‑Web features such as Kobo Sync, email to e‑reader, magic links, LDAP & OAuth, while adding new UI improvements.
How do I complete the first‑time user setup wizard?
After starting the server, navigate to the web interface. The setup wizard will prompt you to create an admin account. If you already have a Calibre metadata.db, choose "Bring my own" and upload the file; otherwise choose "Start fresh" to generate a new empty library. Place your book files in the folder expected by the metadata.db (usually the same folder). Once the wizard finishes, it is recommended to visit the settings page and configure email for password resets.
What system dependencies are required to build Bookbag locally on Debian, Fedora, or macOS?
On Debian 13: `sudo apt install -y python3-dev gcc g++ libffi-dev libmagic-dev libxml2-dev libxslt1-dev imagemagick libmagickwand-dev libldap2-dev libsasl2-dev unrar-free`. On Fedora 43: `sudo dnf install -y python3-devel gcc gcc-c++ openssl-devel cyrus-sasl-devel libffi-devel libxml2-devel libxslt-devel ImageMagick ImageMagick-devel openldap-devel`. On macOS: run `xcode-select --install` then `brew install python libmagic imagemagick libxml2 libxslt libffi openssl`. Missing dependencies will cause pip installs to fail.
How do I configure the library path and start the server in debug mode for development?
Create a virtual environment and install the required packages. Then define the environment variable by creating a .env file with `BOOKBAG_LIBRARY_PATH=/FULL/PATH/TO/PROJECT/books`. Finally start the server with debugging enabled using `FLASK_DEBUG=1 python cps.py`. This will launch Bookbag in debug mode, allowing you to develop and test locally.
Featured in Videos
YouTube tutorials and walkthroughs for bookbag
s6
1,671,961 views
Starts at 00:00
Alternatives
Similar projects ranked by category, topics, and text overlap.