电子书不再租借:Calibre-Web 私有书库 + Kindle/OPDS 推送实测

不想再被 DRM 平台随时下架书籍?在一年几百块的便宜 VPS 上用 Docker 搭一套 Calibre-Web,把散落各处的 epub/pdf/mobi 收进一个随时可读的私有书库。本文给你可照抄的 docker-compose、格式转换、OPDS 目录与 Kindle 邮箱推送的完整步骤,以及中文圈教程常漏的权限坑。

延伸阅读

更多相关攻略推荐:【IP 地址 06】IPv4 枯竭之后:CGNAT / NAT64 Pocket 关停后怎么办:linkding 自托管书签库 + 全文2026 VPS 选购决策树与白皮书:一张图看懂怎么买如何给 VPS 厂商做"信用评估":跑路、超售与售后风险排查手册你买的小厂 VPS 可能是二道贩子:reseller 与 WHMCS

为什么 2026 年还要自建电子书库

先说一句大实话:你买的"电子书"很多时候并不真正属于你。主流平台说下架就下架,说改格式就改格式,账号一关,整面书架瞬间蒸发。我身边不少囤书党和搞技术 PDF 收藏的朋友,近两年都开始把书往自己手里搬——不是因为折腾,而是因为怕。

Calibre-Web 就是帮你在自己机器上把这件事落地的工具。它不是一个全新的图书管理软件,而是知名桌面软件 Calibre 的网页前端:Calibre 负责管数据库和元数据,Calibre-Web 给你一个干净、能在线读、能下载、能推送的 Web 界面。重点是它极轻量,512MB 内存的机器就能跑,这正是便宜 VPS 的绝佳用例。

RackNerdCloudcone、LisaHost、Virtono 这类年付几刀到十几刀的低配机型,内存通常 512MB 起步、硬盘 10–20GB,拿来当私有书库服务器绰绰有余。你买的是控制权,不是又一个会跑路的租借账号。

先把机器和镜像选明白

资源规划其实很简单。纯单人、几千本 epub/pdf 的规模,512MB 内存 + 1 核 + 10GB 硬盘就能稳稳跑起来;如果你想开多用户、挂 Kobo 同步、或者库里塞满扫描版技术 PDF(单本几百 MB 那种),建议至少 1GB 内存 + 20GB 硬盘。CPU 几乎不是瓶颈,电子书格式转换是偶发操作,不用担心。

镜像请直接用 LinuxServer.io 维护的官方版:lscr.io/linuxserver/calibre-web:latest。它更新频繁、对权限处理干净,是社区里最省心的选择。需要在线格式转换(比如把 epub 转成 Kindle 喜欢的 mobi/azw3)时,再加一个环境变量 DOCKER_MODS=linuxserver/mods:universal-calibre,它会把完整的 Calibre 二进制塞进容器,代价是首次启动多等 3–5 分钟、镜像大一圈。

VPS 系统随便选 Ubuntu 22.04+ 或 Debian 12 都行,前提是先装好 Docker 和 Docker Compose。各家便宜机器到手基本都是纯净系统,自己 apt install docker.io docker-compose-v2 一把就完事。装完顺手设个 docker compose 开机自启,机器重启后书库也会自动回来,不用每次手动拉。

docker-compose 一把梭

新建个项目目录,把下面这段直接存成 docker-compose.yml

version: "3.8" services: calibre-web: image: lscr.io/linuxserver/calibre-web:latest container_name: calibre-web environment: - PUID=1000 - PGID=1000 - TZ=Asia/Shanghai - DOCKER_MODS=linuxserver/mods:universal-calibre volumes: - ./config:/config - ./books:/books ports: - "8083:8083" restart: unless-stopped

然后 docker compose up -d 拉起来。两个挂载点要记牢:/config 存 Calibre-Web 自己的设置和账号/books 是你的 Calibre 书库目录,里面必须有一个 metadata.db 文件。

挂载 Calibre 库:新手最容易栽的坑

这里就是中文圈教程最爱含糊其辞的地方。Calibre-Web 自己不管理书,它只读 Calibre 生成的那个 metadata.db 数据库。所以你有两条路:

  • 已有书库:把桌面端 Calibre 的整个"Calibre 库"文件夹(含 metadata.db)拷到服务器 ./books 下,或者 scp -r 传过去。
  • 从零开始:在服务器装一下 Calibre 命令行,sudo apt install -y calibre,然后 calibredb --with-library ./books add /dev/null 建个空库,再删掉那本空书。更省事的是直接进 Web 界面点上传,第一本书上传时 Calibre-Web 会自动生成库。

启动后浏览器开 http://你的服务器IP:8083,首次会让你填库路径,填 /books(注意是容器内部路径,不是宿主机的 ./books)。默认账号 admin / admin123登录后第一件事就是改管理员密码,别裸奔。

另外一个高频坑是 PUID/PGID 不对。容器用 1000 这个用户去读你的书,如果你的文件属主不是 1000,就会出现"能启动但读不到书"的灵异现象。用 id 命令查一下自己的 uid/gid,对不上就改环境变量,改完 chown -R 1000:1000 ./books ./config

开启格式转换与在线阅读

只要你在 compose 里加了 DOCKER_MODS 那行,进管理后台的"基础配置 → 外部二进制文件",把转换器路径指向 /usr/bin/(不同版本可能是 /usr/bin/ebook-convert),保存即可。之后每本书详情页都能选"转换":epub 转 mobi、pdf 转 epub 都不在话下。

在线阅读器原生支持 epub 和 pdf,手机平板浏览器打开直接读,不用下载。提醒一句:扫描版 PDF(图片型)转换效果很差,这种书建议原样推送,别硬转。

如果你手里的书大多是从各大书店下载的 epub,想统一喂给老款 Kindle,就在这里批量转成 mobi 再下回本地,比在桌面端一个个转要顺。转换是异步的,大文件跑个几十秒很正常,耐心等进度条就行。转完的书不会覆盖原文件,而是在库里多出一个新格式,原 epub 依然安安静静躺着,随时可下。

OPDS 目录:KOReader / Moon+ 直连

OPDS 是这个方案最香的部分。它把你的服务器变成一本"标准目录",KOReader、Moon+ Reader、Kybook、Librera 这些阅读 App 能直接订阅、浏览、下载,不用插线、不用传文件。

OPDS 地址就是 http://你的服务器IP:8083/opds。在 Calibre-Web 后台"基础配置 → 功能配置"里确认开启"允许 OPDS 访问"。以 KOReader 为例:搜索 → OPDS 目录 → 添加目录,把地址粘进去,再填你的 Calibre-Web 账号,整座书库就出现在墨水屏上了。家里网络信任的话,还可以开"匿名浏览"让 OPDS 免登录。

Kindle 邮箱推送实测

中文"Kindle 推送"教程少得可怜,这里走一遍真实流程。Calibre-Web 能直接把书发到你 Kindle 的 @kindle.com 邮箱:

  • 后台"基础配置 → 邮件服务器设置"填 SMTP:用你自己的邮箱服务商(Gmail/Fastmail 或自建都行),端口 587、STARTTLS,用户名密码用应用专用密码。
  • 去亚马逊账号把"发件邮箱"加进"已批准发件人",否则邮件会被吞。
  • 在"编辑用户"里填你这台 Kindle 的接收邮箱(xxx@kindle.com)。
  • 打开任意一本书,点"发送到电子书阅读器"按钮,过几分钟 Kindle 就收到推送了。

小坑:Kindle 只收它支持的格式,发 epub 会被拒,所以配合前面讲的格式转换,先转成 mobi/azw3 再推,成功率最高。

顺便说一句备份。书库最值钱的就是那个 metadata.db——它记着你整理得整整齐齐的书名、作者、封面、标签和评分。只要定期把 ./books 和 ./config 打包丢到对象存储或另一台机器,哪怕这台 VPS 哪天被厂商回收,你的书库也一键就能在别处复活。比起把命交给某个随时可能跑路的平台,这才是真正的"买断制"。

多用户权限与远程访问

一家人/一宿舍共用一台机器时,去"编辑用户"建账号,可以给每个人单独设:能下载、能上传、能编辑、能不能用 OPDS、各自绑定不同的 Kindle 邮箱。私密部署记得把"公开注册"关掉,免得被扫到。

想在外面也能读,最省事是套一层反向代理。已经有 Caddy 的话,四行配置搞定 HTTPS:books.你的域名.com { reverse_proxy localhost:8083 }。不想折腾域名证书,Tailscale 组个内网也能安全外访。像 Virtono、LisaHost 这类机器网络稳,做公网反代延迟也很友好。

最后提醒:Calibre 桌面端和 Calibre-Web 不要同时写同一个库,两边同时写可能把 metadata.db 写坏。标准做法是桌面端在别处管书,服务器上的库设为只读挂载,或者错开时间操作。

手机和平板怎么读最顺手

除了墨水屏,手机党用 Moon+ Reader(安卓)或 Kybook(iOS)订阅同一个 OPDS 地址,通勤路上随点随读,体验不输商业 App。Web 界面本身也是响应式的,iPhone 上直接开浏览器就能翻书,不用装任何东西。如果你在 CloudconeRackNerd 这类机器上挂了域名 + HTTPS,把 OPDS 地址换成 https 版,外出流量也不会被中间人窥探。

还有一个被低估的用法:技术 PDF 收藏者可以把论文、手册、规范文档全丢进书库,用标签(tag)分门别类。搜索引擎一秒定位,比在本地一堆乱命名的文件夹里翻要舒服太多。Calibre-Web 的搜索是按 Calibre 的元数据索引走的,书名、作者、标签、丛书都能筛。

到底值不值:算笔小账

RackNerdVirtono 这类年付机为例,512MB 内存款一年往往十几刀人民币封顶,摊到每天几分钱。换来的是一座永远不下架、格式随你转、随手就能推到 Kindle 和 KOReader 的私有书库。相比之下,任何一家"会员制"读书平台一年会员都不止这个数,还随时可能把你看了一半的书下掉。对于囤书党和 PDF 控来说,这笔账怎么算都划算——你买的是安心,不是又一个租约。