电子书越存越乱?我用Calibre-Web把飞牛NAS整理成了私人书库
前言
我手里的电子书越攒越多以后,最大的问题已经不是“没书看”,而是找书越来越麻烦。PDF、EPUB、MOBI 分散在不同目录里,文件名有的还是临时下载时留下的名字,想找一本以前收藏的技术书,往往先得翻半天文件夹。
所以我更想做的不是继续扩硬盘,而是给这些文件加一个真正能用的入口。飞牛 NAS 本来就长期在线,再用 Calibre-Web 把书库放进浏览器里,就可以按封面、作者和基本信息整理,也能直接上传新书。
这篇我会先在飞牛 OS 上准备 Docker 目录,用现有 docker run 命令把 Calibre-Web 跑起来,然后配置 metadata.db、切换中文界面并打开上传权限,再实际上传一个 PDF 文件验证书库能不能正常显示。
本地书库跑通以后,再处理外部访问,把 8083 端口映射出去,并继续配置固定二级子域名。
对我来说,这类私人书库真正有价值的地方,不是把电子书“搬到另一个页面”,而是让已经存了很多年的文件终于有一个比较稳定、容易查找和继续维护的入口。
而且这种方式对我来说还有一个好处:以后换电脑、换手机时,不需要再重新复制一套目录,只要书库本身还在 NAS 上,就可以继续从同一个入口维护。

1 电子书真正缺的不是容量,而是入口
很多人的电子书目录都差不多:
PDF 一堆、EPUB 一堆,工作资料和小说混在一起,文件名还不一定规范。
原稿里提到的场景就很典型:
- 学生时代下载的名著;
- 工作以后收藏的技术资料;
- 家里给孩子准备的绘本和英文读物。
问题不是没有内容,而是这些内容越来越难找。
Calibre-Web 的价值就在这里。
它把书库搬到浏览器里,用封面、作者、标题和书籍信息来组织内容,而不是继续依赖文件夹层级。
2 先把飞牛OS的Docker环境准备好
进入飞牛 OS:

打开 Docker:

在镜像仓库搜索 Calibre-Web:

保持当前选择继续:

下一步:

接下来还要准备持久化目录。
3 创建books和config目录
打开文件管理,先建立 Docker 目录:

然后在对应目录下创建:
booksconfig

当前材料还提供了一个空文件,并说明也可以不手动上传、让系统自动生成。
文件地址:
https://xiaoxu.lanzoub.com/iYSDi2ae3xud

这里最重要的是理解两个目录分别负责什么:
config:保存 Calibre-Web 配置;books:保存书库相关内容。
4 用docker run启动Calibre-Web
通过 SSH 连接飞牛 NAS,切换到管理员用户后执行:
docker run -d --name=calibre-web -e PUID=1000 -e PGID=1000 -e TZ=Asia/Shanghai -p 8083:8083 -v /vol1/1000/docker/calibre/config:/config -v /vol1/1000/docker/books:/books --restart unless-stopped lscr.io/linuxserver/calibre-web:latest

这条命令里几个关键参数都值得保留:
- 容器名:
calibre-web PUID=1000PGID=1000TZ=Asia/Shanghai- 端口:
8083:8083 /config/books--restart unless-stopped- 镜像:
lscr.io/linuxserver/calibre-web:latest
容器完成以后,通过:
http://IP:8083
访问 Calibre-Web。
当前默认登录信息是:
- 用户名:
admin - 密码:
admin123
首次登录确认正常以后,长期使用时不建议一直保留默认密码。

如果反复跳回登录页,当前材料给出的处理方式是强制刷新或清理浏览器缓存。
继续登录:

登录成功:

到这里,只能说明 Calibre-Web 服务已经可以打开。
真正的书库还需要继续配置。
5 配置metadata.db
进入数据库配置,点击右侧文件夹按钮:

回到上层目录:

打开 books:

选择其中的:
metadata.db
然后点击 Select:

保存:

这一步是当前流程里非常关键的一环。
Calibre-Web 并不是只要容器启动就会自动知道你的书库在哪里,必须把对应的 Calibre 数据库选对。
6 把界面切成中文
进入用户设置:

按照当前流程切换成中文:

这样后续管理书籍和权限时会更直观。
7 开启上传权限
进入管理权限和基本设置:

勾选上传权限:

保存以后:

页面会出现上传书籍按钮:

这一层验证的是:
当前账号已经有权限向书库里添加新书。
8 实际上传一本PDF测试
当前示例选择一个 PDF 文件上传:

上传以后可以补充基本信息:

比如标题、作者等内容。
保存:

上传成功:

现在书籍已经出现在书库里:

做到这里,本地链路才算真正完成:
Docker 容器 → Calibre-Web 登录 → metadata.db → 中文界面 → 上传权限 → PDF 上传 → 书籍进入书库。
这比只看到登录页更能说明 Calibre-Web 已经开始接管本地电子书管理。
9 Calibre-Web适合解决什么,不适合夸大什么
Calibre-Web 更适合做:
- 本地电子书的网页入口;
- 封面和书籍信息展示;
- 搜索和浏览;
- 上传管理;
- 多设备通过浏览器访问。
当前材料还提到了在线阅读、格式转换、多用户管理等能力。
但这篇实际截图重点验证的是:
书库配置、上传权限和 PDF 上传。
所以我不会把“阅读进度同步”“像 Kindle 一样完整”这类体验写成已经在本文里全部验证过。
另外,电子书文件本身的版权和来源也需要用户自己负责。Calibre-Web 解决的是书库管理方式,不会替代内容授权。
10 本地书库能用以后,再处理外网访问
如果只在家里的电脑和平板上使用,到这里已经够了。
如果希望人在外面也能打开自己的书库,再继续处理网络入口。
当前方案使用 cpolar。
这里仍然是:
Calibre-Web 负责书库业务,cpolar 负责网络入口。
11 在飞牛NAS安装cpolar
先在飞牛设置里开启 SSH,默认端口为 22:

再通过飞牛 NAS 的 IP 地址连接:

连接以后执行:
sudo curl https://get.cpolar.sh | sh
安装完成后检查服务:
sudo systemctl status cpolar

然后通过飞牛主机 IP 加:
9200
进入 cpolar Web UI:

12 给Calibre-Web创建随机公网地址
进入隧道管理,创建隧道。
当前参数:
- 隧道名称:
cw - 协议:
http - 本地地址:
8083 - 域名类型:随机域名
- 地区:
China Top

创建以后进入在线隧道列表:

复制地址做访问测试:

能够正常打开 Calibre-Web,说明外部访问已经打通。
13 长期使用再配置固定二级子域名
随机地址适合临时测试。
如果以后经常从外面打开书库,固定地址会更方便。
进入预留功能:

选择保留二级子域名。
当前示例:
- 地区:
China Top - 二级子域名:
cw1

然后回到隧道列表,找到对应隧道:

修改为二级子域名,并填入前面保留成功的 Sub Domain:

更新后查看在线隧道:

最后再使用固定公网地址测试访问。
这一步完成以后,外部访问地址就不再依赖随机域名。
14 这套私人书库真正适合什么人
我觉得 Calibre-Web 最适合的是已经有大量本地电子书的人。
比如:
- 多年积累了 PDF、EPUB、MOBI;
- NAS 本来就长期运行;
- 文件夹越来越难整理;
- 希望手机、平板、电脑都从一个入口找书;
- 愿意自己维护书库和元数据。
它不会自动把所有旧文件变得井井有条。
真正想把书库整理好,还是需要慢慢补标题、作者、封面、分类和其他信息。
但至少从这一步开始,电子书不再只是硬盘里的一堆文件,而是有了一个可以继续维护的书库入口。
总结
这次把 Calibre-Web 跑到飞牛 NAS 上以后,我觉得最明显的变化不是“多了一个网页”,而是原来只能靠文件夹找的电子书,终于开始有了书库的样子。
真正关键的步骤不是容器启动,而是后面的 metadata.db、中文界面、上传权限和实际上传一本 PDF。只有这些都走通以后,才能确认 Calibre-Web 已经真正接管了当前书库。
外部访问则是最后一层。飞牛 NAS 负责存储和 Docker,Calibre-Web 负责书库管理,cpolar 负责网络入口,这几层拆开以后后续维护更清楚。
如果手里已经攒了很多年电子书,我觉得这种方式比继续建更多“新建文件夹”更值得折腾。真正需要花时间的,是慢慢把书名、作者和分类补好,让自己的数字藏书真正可查、可找、可长期维护。
转载自 CSDN-专业IT技术社区
原文链接:https://blog.csdn.net/lrq13965748542/article/details/167385663




