修身养性,知行合一

  • 首页
  • 爱码
    • 系统
    • 数据库
    • JavaScript
    • CSharp
    • Python
  • 生活
    • 文化
    • 美食
  • 杂谈
  • 关于
修身养性,知行合一
码字,杂谈
  1. 首页
  2. 爱码
  3. 建站
  4. 正文

搭建网络图书管理系统小纪

2023年7月6日 2710点热度 0人点赞 0条评论

随着电子书越来越多,普通文件夹再也难以承受,(尤其是最近网盘收藏了亿些些),所以搞个图书管理系统,就摆上了日程。

因为没用过盖面神器,所以没有具体了解过这个领域。仅仅是知道一点点,但仅限于本地电脑上的 Calibre,知道这玩意好像可以推送到 kandle,具体不了解。

我的需求:

  • 电脑能看
  • 手机能看
  • 它们能同步看,也就是电脑上看了一半,手机上可以继续,而不用手动记录阅读点
  • 能统一管理书籍

需求很简单,所以网上查了查,还是基于 Calibre,这玩意有 calibre-web,而且还是 docker 的方式,正好我有 nas,搞起~

先来看一下完成的界面:

file

安装 docker

如果您的 nas 自带 docker,可以直接跳到下一阶段。

我家是入门级 nas,群晖218play,这玩意没有 docker 啊。就在我最近为了能够支持 docker 想换一个的时候,无意中发现了一个社群,居然可以安装 docker,完美解决。

贴个整活地址:我不是矿神

这玩意直接让我的小 nas 起飞。提供了 docker 安装以及 Portainer 中文界面。

安装好了 docker,进入 Portainer。它默认是 9000 端口。

file

如果没有进来,返回去看一下上面的整活地址帖子,讲的很详细,一定是哪里出现了问题

创建图书文件夹

在 nas 的控制面板的文件管理中,创建一个根目录,名字随意,比如就叫 calibre-web,然后分别添加 library、config 以及 autoaddbooks 三个文件夹:

file

然后给根文件夹赋权限,这里要给 administrators 和 users 群组赋上可读写的权限。

administrators 组保证 docker 能够正常读取文件夹内容

安装 calibre-web

1、先拉取镜像:

这里建议拉取 johngong/calibre-web:latest 的,目前还在维护(2023年7月)

file

需要等待一段时间,这个包接近 1G,所以时间有点长,慢慢等,好了之后就会出现在下面的列表中。

2、创建容器

进入容器菜单,点击 添加容器:

file

在创建容器的页面中,依次按顺序添加、选择内容:

file

这时不要点部署,直接拉到页面最下面的 高级容器设置:

1)存储卷,按照下图直接写:

file

  • /config -> /volume1/calibre-web/config
  • /dev -> /dev
  • /library -> /volume1/calibre-web/library
  • /autoaddbooks -> /volume1/calibre-web/autoaddbooks

1、volume1 为 nas 卷号,根据实际情况填写
2、其他路径根据上面创建的文件夹路径填写映射

2)网络,直接选择 host,其他不用动:

file

3)环境变量,可以参照 [官网]()https://hub.docker.com/r/johngong/calibre-web# 写,它这个根据版本不同,参数略有不同,基本我们可以不用填写任何内容,可以添加如下:

  • PUID:1000
  • PGID:1000
  • CALIBRE_SERVER_USER:xxx
  • CALIBRE_SERVER_PASSWORD:xxx

xxx 随意填。服务端页面登录用

4)重启策略,选择 非停止:

file

最后,我们再点击上面的部署容器,然后看到按钮一直在 loading,直到成功,这个过程可能会有点长,需要等一会儿:

file

成功后,在容器列表中就可以看到我们的容器正在运行:

file

配置 calibre-web

前台端口:8083
后台端口:8080

我们这里基本只需要前台即可。

注意,前台用户名和密码为:

  • user: admin
  • pswd: admin123

这个是固定的,需要首次登录后,在界面中修改

按照界面流程配置,直接进入系统即可。

管理书库

虽然 web 端提供了上传图书的功能,但我并不希望通过这种低效的方式管理。所以还需要本地的 calibre 工具,在本地直接管理。

下载地址:calibre

将书库直接设置为 nas 文件夹中的 /calibre-web/library/ 目录,

file

具体使用,不在这里讨论。我们只说对应的本地管理方式。

我们可以直接将书拖到 calibre 界面中,它会自动导入,然后编辑 meta 信息即可。如果你之前有一个书库,那么直接倒过来,是一个不错的选择。

file

我们可以通过标签,对图书进行分类管理。我在本地的 calibre 里没有找到 分类,只有 标签。添加之后,会在 calibre-web 中的标签分组中看到对应的标签集,方便在 web 端查看。

本地管理同步问题

需要注意的是,有时我们在本地更新了书库内容,但在 web 端没有得到体现,比如添加图书、删除图书、修改图书原信息等。

此时,不要慌,像我以为没有成功连接,又重新部署了一次,但是问题依旧。

多半是数据没有同步,有缓存的问题导致。我们可以在 web 端通过 重新连接到 CALIBRE 库 或 重启 的方式,来更新 web 端:

file

此外,我们还可以设置自动重连的计划任务,来让 web 端自动重连,这大大减少了上面的不同步情况的出现:

点击 编辑计划任务设置:

file

这样它会在一定时间内自动重连,只需要在本地管理基本可以解决问题。如果还有问题,可以通过重启 docker 容器的方式来解决。总之一句话:

重启大法好!

阅读

现在我们只需要上传一些书籍,就可以在线阅读了。

1、web 端

web 端我们可以直接在浏览器中阅读,随便点击一本书,然后点击阅读按钮,如果有多种图书格式,会有选择格式的提示:

file

阅读界面稍微有些简单,但并不影响,我们看的是内容。

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,我们可以通过这种方式浏览页面,开始阅读。

这种方式相比浏览器的好处是做了一定的适配,同时拥有比较好的浏览模式。

这里我用的是开源软件:阅读

安装好后,在订阅中,配置我们的地址,然后就可以开始登录阅读了~

最后

一切都配置好后,我们就可以静心的开始阅读了。

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可
标签: 暂无
最后更新:2023年7月6日

jeremyjone

这个人很懒,什么都没留下

打赏 点赞
< 上一篇
下一篇 >

文章评论

取消回复

文章目录
  • 安装 docker
  • 创建图书文件夹
  • 安装 calibre-web
    • 1、先拉取镜像:
    • 2、创建容器
  • 配置 calibre-web
  • 管理书库
    • 本地管理同步问题
  • 阅读
    • 1、web 端
    • 2、手机端
    • 直接浏览器
    • opds 订阅
    • web_view
  • 最后
最新 热点 随机
最新 热点 随机
node-sass 的安装 解决端口被占的问题 vue3 组件 Props 的声明方式 给 div 添加选中状态 请求的取消 rgb 颜色小数兼容问题
WSL 安装问题 0x8007019e、0x800701bc、0x80370102 JavaScript异步加载图片 .net core 中使用 websocket IIS Express 通过IP访问的方法和坑 嵌套其他页面内容并自适应高度 给MySQL用户添加远程权限

(っ•̀ω•́)っ✎⁾⁾ 开心每一天

COPYRIGHT © 2021 jeremyjone.com. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS

京ICP备19012859号-1

京公网安备 11010802028585号