极空间部署 Reader:把散落的电子书收进一个可搜索、可阅读的书架
前言
我有个很典型的坏习惯:书先收着,至于什么时候看,另说。
PDF、EPUB、MOBI 一多,最先失控的通常不是硬盘容量,而是目录。文件名越来越长,版本越来越乱,明明记得“我下载过”,真想找的时候却不知道躺在哪个文件夹。
所以我对电子书工具的要求其实很朴素:别逼我先整理半天,先让我能把书放进去、在一个页面里看到、想读的时候直接打开。
Reader 适合的就是这个场景。原文在极空间上实际跑通了这条链:
下载 hectorqin/reader 镜像 → 建 logs / storage 目录 → 映射容器目录 → 使用 9004 打开页面 → 导入 JSON 书源 → 搜索小说 → 导入 txt / epub / pdf 本地书籍 → 书架显示 → 本地功能成立后,再用cpolar把 9004 页面提供到公网。
这篇我不会继续放大“自动分类、全文搜索、终身受用”这些源文宣传语,因为正文真正演示得最完整的,是书源导入、本地书籍导入、书架展示和远程访问。
人物性格也很明确:我喜欢囤书,但不喜欢为了整理书库再学一套复杂系统;能少建几层文件夹、少记几个路径,我就愿意用。

先打开极空间 Docker,在【镜像 → 仓库】里搜索 Reader,并下载 hectorqin/reader 镜像。

镜像下载好以后,先给 Reader 准备两个目录。
原文做法是在根目录下创建一个 docker 文件夹,然后在其中创建:
logs
storage
一个用于保存系统相关数据,一个用于存放书籍内容。

回到 Docker 本地镜像页面,双击已经下载好的 Reader 镜像开始部署。

接着进入文件夹路径设置,把刚才创建的目录挂载进去。

端口部分,原文将外部访问端口设置为:
9004
这个端口是自定义的,后面本地访问和 cpolar 隧道都会继续使用它。

部署完成以后,直接通过:
极空间 IP + 9004
打开 Reader 页面。

到这里我会先做一个判断:页面能打开,只能说明 Reader 跑起来了,还不能说明它真的能解决“书太乱”的问题。
真正有用的是下一步——把书放进去。
Reader 支持导入 JSON 格式的书源。
原文先进入书源导入页面:

导入小说书源时,选择全部导入。
小说书源导入,勾选全部导入

书源导入以后,就可以通过这些来源搜索小说。

我对这类功能的态度一直比较现实:源多不多不是重点,搜得到自己真正想看的书才有意义。
所以这一部分最关键的验证,不是“支持 JSON”这四个字,而是导入完成以后,搜索入口确实可以正常使用。
除了在线书源,Reader 还可以导入本地书籍。
原文展示的格式包括:
txt
epub

导入完成后,书籍会显示在书架中。

对我这种“下载完先扔硬盘”的人来说,这一步反而最有价值。
因为真正让我懒得看书的原因,很多时候不是没时间,而是打开阅读之前还有一层找文件、认文件名、判断版本的成本。
Reader 至少把这层成本降下来了:书导进去以后,就不必每次再回文件管理器里翻目录。
这里也顺便收紧一下源文结论。
前言里提到“自动分类、全平台同步阅读进度、封面识别、全文搜索”,但正文没有逐项演示这些功能,所以这一版不会把它们写成本文已经验证完成的结果。本文真正确认的是:
书源导入 → 搜索 → 本地书籍导入 → 书架显示。
如果 Reader 只在家里的局域网使用,到这里已经够了。
但电子书跟很多家庭服务不一样,它最容易产生的需求就是:
书在家里,人在外面。
通勤路上、午休、出差时临时想继续读,如果每次都得等回家再开,就会把“想读”这点冲动磨没。
所以原文接下来安装 cpolar,目的不是改变 Reader 的书源、书架或阅读功能,而只是把已经运行在本地的 9004 页面从外部网络打开。
按照原文步骤,使用一键安装命令:
sudo curl https://get.cpolar.sh | sh

安装完成后查看 cpolar 服务状态:
sudo systemctl status cpolar

cpolar 安装并启动以后,通过主机 IP + 9200 端口进入 Web 管理界面,使用 cpolar 账号登录。

这一层的职责要分清:
Reader:负责书源、书籍和书架;
cpolar:只负责让本地 9004 Web 页面能够从外部网络访问。
我不太喜欢把两件事揉成“搭完就是私人云阅读平台”,因为这样一旦后面出问题,很容易连自己都不知道该查 Reader 还是查网络。
6. 先用随机域名验证 9004
登录 cpolar Web UI 后,进入隧道管理并创建隧道。
原文参数保持不变:
隧道名称:reader
协议:http
本地地址:9004
域名类型:随机域名
地区:China Top

创建完成后,打开在线隧道列表,可以看到生成的公网地址。

换到其他网络中的电脑或手机测试。

页面能够正常打开,说明 Reader 的 9004 已经可以从外部网络访问。
我习惯先用随机地址确认链路,这样就算后面固定域名配置出问题,也知道 Reader 本身和隧道主体没有问题。
7. 长期使用时,再配置固定二级子域名
如果准备长期使用 Reader,随机地址每次变化确实不方便。
原文接下来使用 cpolar 的保留二级子域名功能。

地区选择 china Top,原文示例子域名名称是:
reader1

然后回到 cpolar Web UI,在隧道列表里找到 reader,点击编辑。

把域名类型改为二级子域名,并填写刚才保留成功的值:
域名类型:二级子域名
Sub Domain:保留成功的二级子域名
地区:China Top

更新完成以后,在线隧道列表中的地址会切换成固定二级子域名。

最后再用固定地址打开 Reader 页面。

固定地址能够正常访问,说明长期远程入口已经配置完成。
总结
这次真正跑通的是一条很生活化的链路:
极空间存书 → Reader 把书集中到一个 Web 书架 → cpolar 让这个书架在外面也能打开。
原文实际完成的步骤包括:
下载 hectorqin/reader 镜像;
创建 logs 和 storage 目录;
Docker 部署 Reader;
端口设置为 9004;
浏览器通过极空间 IP + 9004 打开页面;
导入 JSON 书源;
搜索小说;
导入 txt、epub、pdf 本地书籍;
书籍显示在书架;
安装cpolar;
9200 进入 cpolar 管理界面;
创建 reader 隧道;
本地地址 9004;
随机域名先验证公网访问;
最后保留 reader1 固定二级子域名。
这篇的人物性格也一直没变:我不是想把电子书库管理成档案馆,我只是想在“突然想看一本书”的时候,别先花十分钟找文件。
所以我不会把 Reader 的价值吹成“自动整理一切”。对我来说,它真正有意义的地方反而很简单:
把书先收进一个能打开、能搜索、能继续读的入口里。
原文提到的“自动分类、全平台同步、全文搜索、离线可用、终身受用”等能力,正文没有逐项验证,因此新版没有把这些继续写成本文已经完成的结果。
书能不能真的读完,工具当然帮不了你。但至少它能把“我明明有这本书,就是找不到”这个借口先拿掉。
网硕互联帮助中心



评论前必须登录!
注册