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

image

为什么需要 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

关键配置说明:

  • PUIDPGID:如果部署在 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",导致书库里同一个人的书分散在三个作者名下。

批量修正方法

  1. 在 Calibre 搜索框输入作者名的一个变体,例如搜 Lu Xun
  2. 全选搜索结果
  3. 右键 → "批量编辑元数据" → "单独编辑元数据"
  4. 在"作者"字段统一改为标准名称(如"鲁迅")
  5. 勾选"自动设置作者排序",Calibre 会自动生成拼音排序字段

同样的方法可以批量统一"丛书"信息、出版社名称、语言标签。

2.2 用"从文件名导入"批量添加书籍

如果你有一批命名规范的电子书文件,可以用文件名来填充元数据,省去逐本手动输入的麻烦。

假设文件命名格式是 《三体》-刘慈欣.epub

  1. 把所有文件拖入 Calibre(先不导入,停留在"添加书籍"对话框)
  2. 勾选"从文件名读取元数据"
  3. 正则模板填:《(?P<title>.+?)》- (?P<author>.+)
  4. 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 书库的迁移不是简单地复制文件夹。

完整迁移步骤

  1. 复制整个书库文件夹(例如 D:\Calibre Library)到新位置
  2. 复制 Calibre 的配置目录:
    • Windows:%APPDATA%\calibre
    • macOS:~/Library/Preferences/calibre
    • Linux:~/.config/calibre
  3. 在新电脑上安装 Calibre 后,启动时按住某个键(Calibre 会提示)选择已有书库路径
  4. 把备份的配置目录覆盖到新电脑对应位置

特别注意:如果你装了插件(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,不需要特殊网络环境。

posted @ 2026-07-03 09:33  PC修复电脑医生  阅读(64)  评论(0)    收藏  举报