搭建了一个个人的电子书网站
作为一个松鼠党,从高中逛E-INK开始就收集各类电子书,这么多年下来也积攒了一大笔积蓄。下书入流水,看书如抽丝。那么这些书的管理就成了一个问题。最后选了半天还是决定用calibre来管理自己的电子书。
calibre虽然速度有些慢,不过应该是目前为止能找到的最好的电子书管理工具了。和kindle的结合也很好。考虑数据的备份,除了在自己的Mac上存放了书库以外,还利用Resilio Sync把书库存到了群晖上。这样就算是电脑被偷数据也不会丢了。不过calibre的数据库有一个缺点,他在电脑上储存文件的目录结构是/calibre/author/books
而且会把全部的汉字转换成拼音。直接用Mac上的calibre看的话挺方便的,但是远程用手机访问群晖的话看到的都是类似于拼音文件。找书很不方便。所以就想找一下有没有calibre的web版本。
搜了一下果然有人已经早好轮子了calibre-web 一个用Python写的一个Web app。
官方介绍是这样的: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拉取来更新。真的是大开眼界。
既然调研好了,那么就开始搭建吧。
网站搭建
背景说明
- 群晖216+Ⅱ
- Calibre
- Resilio
- docker
其实上面啥都不需要,只需要一台能运行docker的设备就可以了。内存大约100m 不知道树莓派能不能撑得住。 Python的效率真低呀。
首先先是电脑上安装calibre,然后同步自己的书库到群晖。这一步网上教程太多,就不详细介绍了。
同步完之后,我们的群晖上就有了数据库。例如我的目录是 /Backup/书库 里面有一个数据库文件 metadata.db
数据库有了,就开始安装程序。程序安装很简单,只需要一个python环境就可以了。
1 2 3 4 5 6
| # 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如下。
1 2 3 4 5 6 7 8 9 10 11
| 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就可以看到自己部署的网站了。