把 Calibre 书库搬上 Web:calibre-web 搭建教程 + 书库管理进阶技巧

为什么需要 calibre-web
Calibre 本身是桌面软件,每次看书都得打开电脑上的 Calibre,找书、双击、等阅读器加载。如果你有多台设备(公司电脑、家里台式、手机、平板),在不同地方读同一本书的体验基本是灾难——阅读进度不同步,书库也不一致。
calibre-web 解决的问题就是把 Calibre 书库变成一个随时可访问的私人图书馆网站。任何设备打开浏览器就能读,阅读进度自动同步,甚至可以给家人开子账号各自独立管理阅读记录。
本文环境基于 Calibre 9.10.0 + calibre-web 最新 Docker 镜像,Windows/Linux 均可部署。Calibre 安装包可以在 calibre.ijinshan.com 下载,国内下载速度比官网快不少。
一、calibre-web Docker 部署(10分钟完成)
1.1 前置条件
- 一台 24 小时开机的设备(NAS / 软路由 / 旧电脑 / 云服务器均可)
- 已安装 Docker 和 Docker Compose
- Calibre 桌面版(用于管理书库,calibre-web 只管展示和阅读)
1.2 准备书库目录
先在 Calibre 桌面版里确认你的书库路径。打开 Calibre → 点击顶部工具栏的"书库"图标 → "切换/创建书库",可以看到当前书库的完整路径,例如:
D:\Calibre Library\
把这个目录记下来,后面 Docker 挂载要用。注意:calibre-web 不能和 Calibre 桌面版同时使用同一个书库,否则会导致数据库损坏。部署 calibre-web 之前,先在桌面版 Calibre 里关闭程序。
1.3 Docker Compose 配置
创建一个 docker-compose.yml:
version: "3"
services:
calibre-web:
image: lscr.io/linuxserver/calibre-web:latest
container_name: calibre-web
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Shanghai
volumes:
- ./config:/config
- /path/to/your/calibre/library:/books
ports:
- "8083:8083"
restart: unless-stopped
关键配置说明:
PUID和PGID:如果部署在 Linux 上,用id命令查看当前用户的 uid/gid,确保容器有权限读写书库目录/path/to/your/calibre/library:/books:冒号左边是你本地 Calibre 书库的绝对路径,右边是容器内挂载点,不要改8083:8083:左边是宿主机端口(可以改),右边是容器内端口(别改)- Windows 上用 Docker Desktop 的话,路径写成
D:/Calibre Library:/books
启动:
docker compose up -d
1.4 初始化配置
浏览器打开 http://你的设备IP:8083,首次访问会看到登录页。
默认账号:admin / admin123
登录后第一件事:改密码。在右上角头像 → "Admin" → "Change Password"。
然后配置书库路径:Admin → "Edit Basic Configuration" → "Calibre Database Directory",填入 /books(就是上面 docker-compose 里挂载的容器内路径),保存后 calibre-web 会自动扫描书库。
1.5 启用格式转换(可选但推荐)
calibre-web 的在线格式转换功能需要调用 Calibre 的命令行工具 ebook-convert。如果容器所在的机器上安装了 Calibre,可以在 Admin 设置里指向 ebook-convert 的路径。
Linux 上通常不需要额外配置,linuxserver 的镜像已经内置了转换引擎。Windows Docker 环境下可能无法使用,这是已知限制——可以接受的话跳过即可,不影响在线阅读。
二、Calibre 书库管理的三个进阶操作
搭建完 calibre-web 只是解决了"随时看书"的问题。但在此之前,先得有一个干净、规范的书库。以下三个操作是我管理 2000+ 本书之后总结出来的。
2.1 批量修改元数据:用"批量编辑"统一作者名和丛书信息
网上下载的电子书元数据质量参差不齐。同一个作者可能被写成"鲁迅"、"魯迅"、"Lu Xun",导致书库里同一个人的书分散在三个作者名下。
批量修正方法:
- 在 Calibre 搜索框输入作者名的一个变体,例如搜
Lu Xun - 全选搜索结果
- 右键 → "批量编辑元数据" → "单独编辑元数据"
- 在"作者"字段统一改为标准名称(如"鲁迅")
- 勾选"自动设置作者排序",Calibre 会自动生成拼音排序字段
同样的方法可以批量统一"丛书"信息、出版社名称、语言标签。
2.2 用"从文件名导入"批量添加书籍
如果你有一批命名规范的电子书文件,可以用文件名来填充元数据,省去逐本手动输入的麻烦。
假设文件命名格式是 《三体》-刘慈欣.epub:
- 把所有文件拖入 Calibre(先不导入,停留在"添加书籍"对话框)
- 勾选"从文件名读取元数据"
- 正则模板填:
《(?P<title>.+?)》- (?P<author>.+) - Calibre 会自动把
三体填入书名、刘慈欣填入作者
常见命名格式对应的正则:
| 文件命名格式 | 正则模板 |
|---|---|
《书名》-作者.epub |
《(?P<title>.+?)》- (?P<author>.+) |
作者 - 书名.epub |
(?P<author>.+?) - (?P<title>.+) |
书名 (作者).epub |
(?P<title>.+?) \((?P<author>.+?)\) |
[丛书01] 书名 - 作者.epub |
\[(?P<series>.+?) (?P<series_index>\d+)\] (?P<title>.+?) - (?P<author>.+) |
2.3 书库迁移与备份:搬家不断进度
换电脑或者重装系统时,Calibre 书库的迁移不是简单地复制文件夹。
完整迁移步骤:
- 复制整个书库文件夹(例如
D:\Calibre Library)到新位置 - 复制 Calibre 的配置目录:
- Windows:
%APPDATA%\calibre - macOS:
~/Library/Preferences/calibre - Linux:
~/.config/calibre
- Windows:
- 在新电脑上安装 Calibre 后,启动时按住某个键(Calibre 会提示)选择已有书库路径
- 把备份的配置目录覆盖到新电脑对应位置
特别注意:如果你装了插件(DeDRM、Quality Check 等),光复制书库不够,插件的配置和激活状态存在配置目录里。漏掉这一步的话,插件需要全部重新安装和配置。
日常备份建议:
- 书库文件夹用同步工具(Syncthing / Resilio Sync)实时同步到 NAS
- 配置目录每周手动备份一次即可,变化不大
三、calibre-web 进阶配置
3.1 开启 OPDS 供第三方阅读器订阅
OPDS 是一个开放协议,支持它的阅读器可以直接从 calibre-web 拉取书库。配置路径:Admin → "Feature Configuration" → 勾选 "Enable OPDS feed"。
然后在手机上的阅读器(如 KyBook、Marvin、静读天下)里添加 OPDS 源,地址是:
http://你的IP:8083/opds
这样手机上的阅读器就能直接浏览和下载 calibre-web 里的书,不需要手动传输文件。
3.2 反向代理 + HTTPS
裸跑 HTTP 在内网没问题,但如果想从外网访问(比如出差时看书),建议加一层 Nginx 反向代理 + Let's Encrypt 证书。
Nginx 配置示例:
server {
listen 443 ssl;
server_name books.yourdomain.com;
ssl_certificate /etc/letsencrypt/live/books.yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/books.yourdomain.com/privkey.pem;
location / {
proxy_pass http://127.0.0.1:8083;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
另外在 calibre-web 的 Admin 设置中开启 "Allow Reverse Proxy Authentication"。
3.3 多用户与权限控制
calibre-web 支持创建多个用户账号,每个用户可以有不同的书库访问权限:
- Admin → "Users" → "Add User"
- 设置用户名、密码
- 在"Allowed Shelf"里限制该用户能看到的书架(对应 Calibre 里的丛书或标签分类)
适合场景:给孩子开一个子账号,只允许看"儿童读物"书架;或者给自己开一个"技术书籍"专用视图。
常见问题
Q:calibre-web 启动后书库是空的?
检查书库路径是否正确。在 calibre-web 后台 Edit Basic Configuration 里确认路径是容器内的 /books,不是宿主机的路径。
Q:calibre-web 和 Calibre 桌面版能同时开吗?
不能。calibre-web 启动后会锁定 metadata.db 文件,此时打开桌面版 Calibre 会报数据库错误。解决办法:先关 calibre-web(docker compose down),用完桌面版 Calibre 后再启动 calibre-web。
Q:Kindle 能访问 calibre-web 吗?
Kindle 自带浏览器太弱,基本不可用。但可以通过 calibre-web 的"发送到 Kindle"功能(需要配置 SMTP 邮件推送),把书推送到 Kindle 的 @kindle.com 邮箱。
Q:怎么更新 calibre-web?
docker compose pull
docker compose up -d
数据在 /config 挂载卷里,更新不会丢失配置。
总结
| 层次 | 操作 | 适用人群 |
|---|---|---|
| 基础 | Calibre 桌面版 + 格式转换 | 所有用户 |
| 进阶 | 书库规范化(批量元数据/正则导入) | 书库 > 50 本的用户 |
| 高阶 | calibre-web 部署 + OPDS + 外网访问 | 多设备阅读需求 + 有服务器/NAS |
| 终极 | 多用户管理 + 反向代理 + 自动备份 | 全家共用书库 |
Calibre 桌面版从 calibre.ijinshan.com 下载,版本跟上**同步,国内下载速度正常。calibre-web 的 Docker 镜像直接走 Docker Hub,不需要特殊网络环境。

浙公网安备 33010602011771号