calibre-web
A sleek web interface for browsing, reading, and downloading eBooks from an existing Calibre library. Forked from the original Calibre-web project, hosted by the reliable LinuxServer.io team.
yaml
docker-compose.yml
services:
calibre-web:
image: linuxserver/calibre-web:latest
container_name: calibre-web
environment:
- PUID=${PUID}
- PGID=${PGID}
- TZ=${TZ}
volumes:
- ${CALIBRE_WEB_CONFIG}:/config
- ${CALIBRE_BOOKS}:/books
ports:
- ${CALIBRE_WEB_PORT}:8083
restart: unless-stopped
networks:
default:
name: calibre-web-network
.ENV
.env example
# ─────────────────────────────────────────────────────────────
# Calibre-Web — eBook management interface
# https://github.com/linuxserver/docker-calibre-web
# ─────────────────────────────────────────────────────────────
# ── User/Group ─────────────────────────────────────────────────
# Match these to the UID/GID of your host user (run: id $USER)
PUID=1000
PGID=1000
# ── Timezone ────────────────────────────────────────────────────
# Example: America/New_York, Europe/London, Asia/Tokyo
TZ=Etc/UTC
# ── Ports ───────────────────────────────────────────────────────
# Web UI access port (http://your-server:8083)
CALIBRE_WEB_PORT=8083
# ── Volumes ─────────────────────────────────────────────────────
# /config — Calibre-Web app DB, settings, and cached data
CALIBRE_WEB_CONFIG=./calibre-web/config
# /books — Your Calibre library folder (must contain metadata.db)
# IMPORTANT: This must be an existing Calibre library with a metadata.db file.
# Calibre-Web will NOT create a library for you — use Calibre desktop app first.
CALIBRE_BOOKS=./calibre-books
# ── Optional ────────────────────────────────────────────────────
# Uncomment to enable full Calibre ebook conversion (x86-64 hosts only)
# DOCKER_MODS=linuxserver/mods:universal-calibre
# Uncomment if using Google OAuth and hitting token scope errors
# OAUTHLIB_RELAX_TOKEN_SCOPE=1
# ─────────────────────────────────────────────────────────────
# DEFAULT ADMIN LOGIN:
# Username: admin
# Password: admin123
# → Change immediately after first login!
# ─────────────────────────────────────────────────────────────
deployment
Quick Start
- Create a working directory named after the service.
- Copy the compose file and generated `.env` into that directory.
- Review the variables and replace placeholders with real values.
- Run `docker compose up -d`.
mkdir calibre-web
cd calibre-web
# create docker-compose.yml
# create .env
docker compose up -d