84 lines
4.1 KiB
Markdown
84 lines
4.1 KiB
Markdown
---
|
||
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 Github](https://github.com/janeczku/calibre-web)
|
||
- [Calibre Web Douban Github](https://github.com/fugary/calibre-web-douban-api)
|
||
|
||
|