How to Install Calibre-Web (Your Ebook Library on Every Device, Including Kindle)

Calibre-Web: your ebooks on every device — Browser, phone apps, and Send to Kindle.

Calibre on the desktop is the standard tool for managing ebooks, and its library is just a folder with a database in it. Calibre-Web serves that folder from your server: browse covers in a browser, read EPUBs without installing anything, upload new books from any device, convert formats, send a book to a Kindle with one click, and let reader apps on phones pull from it. The desktop Calibre can keep managing the same library.

Quick reference

TaskWhat
Folder~/docker/calibre-web/compose.yaml
Library/mnt/data/books containing metadata.db
Webhttp://server-ip:8083
Default loginadmin / admin123 — change it
KindleAdmin → Email server settings + your Kindle address
Reader appsOPDS feed at http://server-ip:8083/opds

1. The compose file

mkdir -p ~/docker/calibre-web && cd ~/docker/calibre-web
nano compose.yaml

services:
calibre-web:
image: lscr.io/linuxserver/calibre-web:latest
container_name: calibre-web
environment:
PUID: 1000
PGID: 1000
TZ: Europe/London
DOCKER_MODS: linuxserver/mods:universal-calibre
volumes:
- ./config:/config
- /mnt/data/books:/books
ports:
- "8083:8083"
restart: unless-stopped

The DOCKER_MODS line installs the Calibre conversion engine inside the container, so uploads can be converted to EPUB or AZW3 for Kindles. Leave it out on a Pi if space is tight.

docker compose up -d
sudo ufw allow 8083/tcp

2. The library

Calibre-Web needs a Calibre library — a folder with metadata.db in it. Either:

Open http://192.168.1.50:8083, log in as admin / admin123, and enter /books as the library location. Then Admin → Users → admin and change the password.

3. Upload and convert

Admin → Basic configuration → Feature configuration → Enable uploads. Now the upload button accepts EPUB, MOBI, AZW3, PDF and CBZ. With the conversion mod, a book's page offers Convert between formats — EPUB in, AZW3 out for a Kindle.

4. Read in the browser

Click a book → Read in browser. EPUB, PDF and comics open in a built-in reader that remembers your page. Good enough for a laptop; on a phone you'll want an app.

5. Send to Kindle

  1. On Amazon's site, Manage Your Content and Devices → Preferences → Personal Document Settings: note your Kindle's email address and add your sending address to the approved list.
  2. Calibre-Web Admin → Email server settings: your SMTP details (the Gmail app password from tutorial 49 works), and the Kindle address in your user's settings.
  3. On any book: Send to Kindle. It converts if needed and emails it.

6. Reader apps via OPDS

Most reader apps can add a catalogue: OPDS URL http://192.168.1.50:8083/opds, your Calibre-Web login. Then browse and download the library from inside the app — KOReader, Moon+ Reader, Librera (Android); Marvin, KyBook (iOS). Through the proxy, use the https address.

Calibre desktop and Calibre-Web together

Both can use the same library, but not at the same moment — Calibre-Web locks the database while it writes. Add books from either; just don't do it in both at once.

Troubleshooting

"DB location is not valid". No metadata.db in the folder you gave, or the container can't read it (PUID/PGID vs the folder's owner).

Upload button missing. Uploads aren't enabled in Feature configuration.

Convert does nothing. The conversion mod didn't install (first start takes a while), or Admin → Basic configuration → External binaries needs the path /usr/bin/ebook-convert.

Kindle never receives the book. Sending address not on Amazon's approved list, or the format isn't one Amazon accepts — send EPUB or AZW3.

Wrapping up

One container, a Calibre library folder, change the admin password, enable uploads. Books in a browser, on a Kindle by email, and in any reader app through OPDS — and the desktop Calibre you already use keeps working on the same shelf.

Call us