bookbag logo

bookbag

Fork of Calibre-Web Focused on UI and UX improvements.

Developer ToolsPythonGPL-3.0 60 0Health 50
GitHub

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

Redesigned user interface
Instant filters, search, sort, and resize
Advanced metadata-based search
Advanced web reader with customizable typography and themes
Easy setup wizard for admin and library creation
One-Time-Password (OTP) flow for password resets and registration
Kobo Sync support
Email to e-reader functionality
LDAP and OAuth integration
Self-hostable with no user tracking or telemetry

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.

Loading documentation…
View on GitHub

Featured in Videos

YouTube tutorials and walkthroughs for bookbag

s6

1,671,961 views

Starts at 00:00

Share

Alternatives

Similar projects ranked by category, topics, and text overlap.

Compare
bookbag | MushyBook