web EPUB reader using EPUB.js, Bootstrap, and Calibre.

The Epube

web EPUB reader using EPUB.js, Bootstrap, and Calibre.

  • responsive design
  • relies on HTTP Authentication provided by httpd
  • has transparent offline mode via service workers
  • can optionally store files locally for later reading
  • supports word definition lookups using dictd
  • supports Chrome homescreen "app mode"


  1. Initialize scratch.db

    sqlite3 db/scratch.db < schema.sql
  2. Ensure both scratch.db and its containing folder (i.e. db/) are writable by the application, normally this means chown-ing them as www-data or whatever user your httpd is running under.

    chown www-data db/ db/sratch.db
  3. Copy config.php-dist to config.php and edit path to Calibre, etc.

  4. Setup HTTP Basic authentication for epube directories. This is required, even if you're the only user.


  • php-sqlite
  • Calibre books directory and metadata.db


  1. Hires favicon by Flaticon -
  2. Normal favicon from Silk icon pack -


GNU GPL version 3.