随着电子书越来越多,普通文件夹再也难以承受,(尤其是最近网盘收藏了亿些些),所以搞个图书管理系统,就摆上了日程。
因为没用过盖面神器,所以没有具体了解过这个领域。仅仅是知道一点点,但仅限于本地电脑上的 Calibre,知道这玩意好像可以推送到 kandle,具体不了解。
我的需求:
- 电脑能看
- 手机能看
- 它们能同步看,也就是电脑上看了一半,手机上可以继续,而不用手动记录阅读点
- 能统一管理书籍
需求很简单,所以网上查了查,还是基于 Calibre,这玩意有 calibre-web,而且还是 docker 的方式,正好我有 nas,搞起~
先来看一下完成的界面:
安装 docker
如果您的 nas 自带 docker,可以直接跳到下一阶段。
我家是入门级 nas,群晖218play,这玩意没有 docker 啊。就在我最近为了能够支持 docker 想换一个的时候,无意中发现了一个社群,居然可以安装 docker,完美解决。
贴个整活地址:我不是矿神
这玩意直接让我的小 nas 起飞。提供了 docker 安装以及 Portainer 中文界面。
安装好了 docker,进入 Portainer。它默认是 9000 端口。
如果没有进来,返回去看一下上面的整活地址帖子,讲的很详细,一定是哪里出现了问题
创建图书文件夹
在 nas 的控制面板的文件管理中,创建一个根目录,名字随意,比如就叫 calibre-web
,然后分别添加 library
、config
以及 autoaddbooks
三个文件夹:
然后给根文件夹赋权限,这里要给 administrators
和 users
群组赋上可读写的权限。
administrators
组保证 docker 能够正常读取文件夹内容
安装 calibre-web
1、先拉取镜像:
这里建议拉取
johngong/calibre-web:latest
的,目前还在维护(2023年7月)
需要等待一段时间,这个包接近 1G,所以时间有点长,慢慢等,好了之后就会出现在下面的列表中。
2、创建容器
进入容器菜单,点击 添加容器
:
在创建容器的页面中,依次按顺序添加、选择内容:
这时不要点部署,直接拉到页面最下面的 高级容器设置
:
1)存储卷,按照下图直接写:
/config
->/volume1/calibre-web/config
/dev
->/dev
/library
->/volume1/calibre-web/library
/autoaddbooks
->/volume1/calibre-web/autoaddbooks
1、
volume1
为 nas 卷号,根据实际情况填写
2、其他路径根据上面创建的文件夹路径填写映射
2)网络,直接选择 host,其他不用动:
3)环境变量,可以参照 [官网]()https://hub.docker.com/r/johngong/calibre-web# 写,它这个根据版本不同,参数略有不同,基本我们可以不用填写任何内容,可以添加如下:
- PUID:1000
- PGID:1000
- CALIBRE_SERVER_USER:xxx
- CALIBRE_SERVER_PASSWORD:xxx
xxx 随意填。服务端页面登录用
4)重启策略,选择 非停止
:
最后,我们再点击上面的部署容器,然后看到按钮一直在 loading,直到成功,这个过程可能会有点长,需要等一会儿:
成功后,在容器列表中就可以看到我们的容器正在运行:
配置 calibre-web
前台端口:8083
后台端口:8080
我们这里基本只需要前台即可。
注意,前台用户名和密码为:
- user:
admin
- pswd:
admin123
这个是固定的,需要首次登录后,在界面中修改
按照界面流程配置,直接进入系统即可。
管理书库
虽然 web 端提供了上传图书的功能,但我并不希望通过这种低效的方式管理。所以还需要本地的 calibre 工具,在本地直接管理。
下载地址:calibre
将书库直接设置为 nas 文件夹中的 /calibre-web/library/
目录,
具体使用,不在这里讨论。我们只说对应的本地管理方式。
我们可以直接将书拖到 calibre 界面中,它会自动导入,然后编辑 meta 信息即可。如果你之前有一个书库,那么直接倒过来,是一个不错的选择。
我们可以通过标签,对图书进行分类管理。我在本地的 calibre 里没有找到 分类
,只有 标签
。添加之后,会在 calibre-web 中的标签分组中看到对应的标签集,方便在 web 端查看。
本地管理同步问题
需要注意的是,有时我们在本地更新了书库内容,但在 web 端没有得到体现,比如添加图书、删除图书、修改图书原信息等。
此时,不要慌,像我以为没有成功连接,又重新部署了一次,但是问题依旧。
多半是数据没有同步,有缓存的问题导致。我们可以在 web 端通过 重新连接到 CALIBRE 库
或 重启
的方式,来更新 web 端:
此外,我们还可以设置自动重连的计划任务,来让 web 端自动重连,这大大减少了上面的不同步情况的出现:
点击 编辑计划任务设置
:
这样它会在一定时间内自动重连,只需要在本地管理基本可以解决问题。如果还有问题,可以通过重启 docker 容器的方式来解决。总之一句话:
重启大法好!
阅读
现在我们只需要上传一些书籍,就可以在线阅读了。
1、web 端
web 端我们可以直接在浏览器中阅读,随便点击一本书,然后点击阅读按钮,如果有多种图书格式,会有选择格式的提示:
阅读界面稍微有些简单,但并不影响,我们看的是内容。
2、手机端
首先,我不太喜欢那种推送的方式,所以类似 kandle 的邮箱推送方式我没有考虑,如果有这方面需求的朋友可以自行探索。
直接浏览器
最简单的浏览方式,直接从手机浏览器进入 web 端的地址,登录即可。这种方式简单,每个手机都有浏览器,同时可以直接阅读,因为我们的 web 端本身就支持阅读。
再说一下其他方式。
opds 订阅
首先要简单说一下 opds
:开放出版发行系统,它是一个标准,是电子图书的 RSS。过多的内容,有兴趣的小伙伴可以自行探索。
这里要说的是,我们的 calibre-web 支持 opds,所以我们可以让 web 端变身一个 opds 服务器,再搞一个支持 opds 的 app。
我们 web 端的 opds 默认地址是 http://your-calibre-web-address:8083/opds
(替换成你的地址),然后就没有然后了,就可以直接阅读了。
web_view
有一些软件,内嵌了 web view,我们可以通过这种方式浏览页面,开始阅读。
这种方式相比浏览器的好处是做了一定的适配,同时拥有比较好的浏览模式。
这里我用的是开源软件:阅读
安装好后,在订阅中,配置我们的地址,然后就可以开始登录阅读了~
最后
一切都配置好后,我们就可以静心的开始阅读了。
文章评论