在群晖配合 calibre 搭建了一个个人的电子书网站

2017-09-04 22:27:53 +08:00
 yuanfnadi

搭建了一个个人的电子书网站

作为一个松鼠党,从高中逛E-INK开始就收集各类电子书,这么多年下来也积攒了一大笔积蓄。下书入流水,看书如抽丝。那么这些书的管理就成了一个问题。最后选了半天还是决定用 calibre 来管理自己的电子书。

calibre 虽然速度有些慢,不过应该是目前为止能找到的最好的电子书管理工具了。和 kindle 的结合也很好。考虑数据的备份,除了在自己的 Mac 上存放了书库以外,还利用 Resilio Sync 把书库存到了群晖上。这样就算是电脑被偷数据也不会丢了。不过 calibre 的数据库有一个缺点,他在电脑上储存文件的目录结构是 /calibre/author/books

而且会把全部的汉字转换成拼音。直接用 Mac 上的 calibre 看的话挺方便的,但是远程用手机访问群晖的话看到的都是类似于拼音文件。找书很不方便。所以就想找一下有没有 calibre 的 web 版本。

搜了一下果然有人已经早好轮子了calibre-web

用 Python 写的一个 Web abb。

官方介绍是这样的:Calibre Web is a web app providing a clean interface for browsing, reading and downloading eBooks using an existing Calibre database.

直接利用 calibre 的数据库,然后支持下载,上传,在线阅读,数据修改,发送到 kindle。而且手机端和 web 端都支持,真是完美符合我的需求。不过要吐槽一点,这个源码居然不打 tag,程序更新完全是靠 git 拉取来更新。真的是大开眼界。

既然调研好了,那么就开始搭建吧。

网站搭建

背景说明

其实上面啥都不需要,只需要一台能运行 docker 的设备就可以了。内存大约 100m 不知道树莓派能不能撑得住。Python 的效率真低呀。

首先先是电脑上安装 calibre,然后同步自己的书库到群晖。这一步网上教程太多,就不详细介绍了。

同步完之后,我们的群晖上就有了数据库。例如我的目录是 /Backup/书库 里面有一个数据库文件 metadata.db

数据库有了,就开始安装程序。程序安装很简单,只需要一个 python 环境就可以了。

# 1.下载源码
git clone https://github.com/janeczku/calibre-web/
# 2.利用 pip 安装依赖
pip install --target vendor -r requirements.txt
# 3.运行程序
python cps.py

执行命令以后你就把网站搭好了,访问 http://localhost:8083 就可以看到自己搭建的网站了。

不过妈妈说了,能用 docker 解决的问题都用 docker 解决。

Dockerfile 如下。


FROM python:2.7.13
MAINTAINER FandiYuan  <georgeyuan@diamondyuan.com>

RUN git clone https://github.com/janeczku/calibre-web/  && \
    cd calibre-web  && \
    pip install --target vendor -r requirements.txt

EXPOSE 8083

CMD ["python","/calibre-web/cps.py"]

项目的主页有一个镜像了,但是我个人有点没看懂,而且镜像里面是不带项目本身的,在第一次启动镜像的时候会从 git 上面拉取最新的源码,然后重启。其实挺符合这个开源项目的风格的,利用 git 进行版本更新。写得其实比我好。有需要的小伙伴可以自己研究安装。

安装说明

说了半天废话,那么图文教大家如何安装吧。

安装完双击启动容器

配置一下本地目录和装载目录。本地目录就是你电子说所在的位置。

如果你需要电子书编辑的功能,那么不要勾选只读。英文我只想浏览和下载,所以选择了只读。

设置完成以后点击确认 应用。你的个人服务器就布置好了。 举个例子 例如我群晖的路由访问页面是 192.168.3.101:6001,那么 192.168.3.101:8083 就可以看到自己部署的网站了。

如果要在外网访问的话,明天再写。

原文来自 https://blog.diamondyuan.com/2017/09/04/build-a-book-site-on-your-nas/ 我的博客。

27587 次点击
所在节点    分享创造
12 条回复
15015613
2017-09-04 23:08:18 +08:00
我是直接用的 calibre 自带的网页服务器,感觉挺好用的。
升级 3.x 版后,页面大大的进步,而且还可以在线阅读。
Weny
2017-09-04 23:23:36 +08:00
Web abb ? 今天我还在 sf 看到“ wed 端...” p b d b 键位那么远都能打错?
HXM
2017-09-04 23:25:46 +08:00
收藏一下
xieyangwanmu
2017-09-05 07:57:15 +08:00
很巧。我昨天起也开始捣鼓 calibre-web。不过遇到问题很多。现在弄的只是勉强能用。
安装过程中各种依赖错误一大堆。安装完成了。python 启动后。动不动网页就 500 错误。
比如书籍没有封面,获取原数据,封面选择豆瓣,提交。然后就 500 错误,崩溃了。
只能重启启动程序。
另外默认中文不知道在程序哪里修改。
yuanfnadi
2017-09-05 08:11:50 +08:00
@xieyangwanmu 用 docker 能用 docker 解决都用 dock 解决。
pip 有问题是因为网络问题。随意用我 build 好的镜像就可以了。或者自己去阿里云 daocloud build 一个(虽然我好像只写了一半)。
崩溃可能是文件读写权限的问题。
To5tE
2017-09-05 12:00:07 +08:00
阿里云的库怎么加的。地址是多少
yuanfnadi
2017-09-05 12:03:06 +08:00
@To5tE 本来就自带的吧。
yuanfnadi
2017-09-05 12:07:25 +08:00
@To5tE
镜像名称:calibre-web
镜像性质:公开
公网地址:docker pull registry.cn-hangzhou.aliyuncs.com/yfd/calibre-web
代码仓库:https://github.com/GeorgeYuen/calibre-web
镜像地域:华东 1
dimlau
2017-09-05 13:17:11 +08:00
既然在本地,不如用 calibre 自带的 web 服务。
To5tE
2017-09-05 13:44:26 +08:00
@yuanfnadi 之前没有 今天进去看了一下有了 原来的慢的要死
xieyangwanmu
2017-09-05 18:40:07 +08:00
@yuanfnadi docker 我也试了,也会出问题。而且出现异常,docker 解决更加麻烦。
你安装后用一段时间可能就会也发现问题了。
zerona
2018-01-04 19:49:44 +08:00
你们的 calibre-web 支持 cbr cbz 文件格式吗?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/388170

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX