Self-host Calibre-Web
updated Sep 2026deployed by usprices checked · Jul 2026Install verified on Ubuntu 26.04 · Sep 2026 · how we test
We earn commissions when you shop through the links below. Full disclosure →
A web app for browsing, reading and downloading eBooks from an existing Calibre library (metadata.db), with OPDS, per-user permissions, shelves, Kobo sync and send-to-e-reader.
Key facts
CategoryE-books & comics
LicenseGPL-3.0
StackPython, Flask
Min RAM512 MB
Official imageyes
Measured idle RAM147 MB
Difficulty
What you need
- Any VPS with at least 512 MB of RAM
- A domain you control — most self-hosted setups need HTTPS in front of them
- Under an hour if you've used Docker before
Where to host itaffiliate disclosure
Hetzner Cloudrun it on
From $23.59/mo · 2 vCPU / 4 GB / 80 GB · EU + USKamaterafree trial
From $4/mo · 1 vCPU / 1 GB / 20 GB · US + EU + AsiaDigitalOceanalso works on
From $6/mo · 1 vCPU / 1 GB / 25 GB · US + EU + AsiaPaid link — we earn a commission if you shop through it.
Install
Run these commands on your server:
# Calibre-Web — linuxserver image (the Docker image upstream points to)
# it needs a Calibre library; no library yet? start from upstream's blank metadata.db
mkdir -p calibre-web/config calibre-web/books
curl -fsSL -o calibre-web/books/metadata.db https://github.com/janeczku/calibre-web/raw/master/library/metadata.db
docker run -d --name calibre-web -p 8083:8083 \
-e PUID=$(id -u) -e PGID=$(id -g) -e TZ=Etc/UTC \
-v $PWD/calibre-web/config:/config \
-v $PWD/calibre-web/books:/books \
--restart unless-stopped lscr.io/linuxserver/calibre-web:latest
# open http://SERVER_IP:8083 — log in as admin / admin123 (change it), then enter /books as the Calibre library locationMore self-hosted tools
E-books & comics
Kavita
C#.NETAngular
easyRead guide →
E-books & comics
Komga
KotlinSpring BootVue
easyRead guide →
No-code database
Baserow
PythonDjangoVue
easyRead guide →
Media automation
Bazarr
PythonReact
easyRead guide →