--- layout : post title : "在线网页书库Calibre Web" subtitle : "I don't use docker :(" date : 2022-09-20 11:16:58 author : "Manford Fan" catalog : false header-img : "img/post-bg-universe.jpg" tags : - Book - Calibre - Server --- 搭建[wiki](https://wiki.rustle.cc)这个站点的时候,就预留了书籍这个条目,由于能力有限,只能上传书的封面,再就是写上书名,并不能实际的翻阅。所以最近遇到[calibre web](https://github.com/janeczku/calibre-web)这个应用的时候,我就知道,就是它了。Calibre Web是一个可以在线搜索,阅读和下载电子书的网页应用,支持各种格式的书籍上传,但是只支持`epub`格式的电子书在线阅读,不过也够用了,大不了使用Windows下的Calibre转换一下,也是非常的方便的。 ## 一、安装部署 像其他应用一样,Calibre Web也提供多种安装部署方式,我搜索了Internet上的绝大部分信息,都是在讲怎么配合NAS使用,怎么用Docker部署,可我真的不想用Docker,所以我选择了最简单的方法,那就是直接下载源码,然后用`python3`来执行源文件: ```bash $ git clone git@github.com:janeczku/calibre-web.git $ cd calibre-web/ $ python3 cps.py ``` 然后,就可以访问localhost的8083端口进行访问了,如果端口冲突,可以有两种选择: 1. 修改其他用用的端口 2. 先停用其他应用的端口,然后8083登录Calire Web之后修改Calibre端口,再将之前应用的端口启用 当然,Calibre Web也支持Docker部署,以及`pip(3)`命令安装,具体可以参考[Installation Guide](https://github.com/janeczku/calibre-web#installation)。 ## 二、Nginx反向代理 Nothing to say...... ```nginx server { server_name calibre.rustle.cc; listen [::]:80; listen 80; listen [::]:443 ssl http2; listen 443 ssl http2; charset utf-8; access_log logs/calibre.access.log main; if ($scheme = http) { return 302 https://$host$request_uri; } location / { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect off; proxy_set_header Cache-Control no-cache; proxy_pass http://localhost:8083; # modify max file uploads client_max_body_size 40000M; } } ``` ## 三、支持豆瓣刮削 原生的代码支持Google和Amazon刮削信息,由于懂得都懂的原因,这两个自带的刮削器不可用,搜索了好一阵,都在讲Docker下面有个镜像集成了豆瓣API,在逛Github的时候发现源码也支持挂载豆瓣API——[Calibre Web Douban API](https://github.com/fugary/calibre-web-douban-api)。用法也很简单,复制`src/NewDouban.py`到`calibre-web/cps/metadata_provider/`目录下,重启项目即可,记得把之前的Google,Amazon以及豆瓣源文件全都删掉,不然还是会在搜集信息的时候浪费时间,还会卡住。 ## 四、注意事项 & 使用体验 用的是[Alist](https://alist.nn.ci/zh/)挂载天翼云盘,并生成WebDAV地址,通过[rClone](https://rclone.org/)映射到服务器上的。单独建了一个Kindle文件夹,下面放了数据库初始化文件`meatadata.db`。需要注意要把该文件夹的owner设置为`www-data`,不然会有不可写入的报错。还有就是,如果服务重启或者长时间没有登陆,再次登录calibre web之后,可能需要重新连接数据库,在设置中操作即可。 速度还是有点慢,[Koel](https://blog.rustle.cc/2022/10/16/koel/)中的音乐文件也是用这种方式挂载的。也是有点慢,我严重怀疑是家里的网络问题,找个时间换个网络试试。另外,豆瓣API虽然可以刮削了,但是封面有时候下载不下来,估计是豆瓣的限制,总体上还不错,除了有些鸡肋。 ![calibre_web](/img/posts/calibre_web.png 'calibre_web') ## 五、参考文档 - [Calibre Web Github](https://github.com/janeczku/calibre-web) - [Calibre Web Douban Github](https://github.com/fugary/calibre-web-douban-api)