搭建个人书库(通过Calibre+docker)-完全教程

收藏的电子书越来越多了,但是要在手机上看还需要一个一个传到手机上,不是很方便。我就想着能不能搭一个自己的书库,可以在线管理,这样不用下载一本书就要特意传到手机里了。下面是搭建过程:

1:安装docker

通过docker安装是最方便的,可以直接通过宝塔面板安装。软件商店里找到docker管理器就可以安装了。

当然也可以通过命令行安装,输入如下命令即可:

yum install -y docker-latest

推荐用宝塔的方式安装,不用想太多,点一下几分钟就好了。不过要注意,内存要大于768才能安装,手动命令安装则不需要,为此特意升级服务器内存到2G,反正为了运行流畅迟早也要升级配置。

通过终端输入如下命令,查看docker是否安装成功。

docker -v

2:拉取镜像

打开终端,可以直接通过宝塔面板打开,也可以通过putty等软件登录。

(1)首先查看能用的镜像文件,输入如下命令:

docker search Calibre

可以看到有很多版本,这里推荐两个版本,technosoft2000/calibre-web与talebook/calibre-webserver这两个版本安装方法稍有不同,这里先以talebook/calibre-webserver为例来介绍安装过程。功能差不多,就是界面稍有不同。

(2)新建用于存放数据的文件夹,同样可以通过宝塔面板来操作。比如

data/calibre

(3)拉取镜像

docker pull talebook/calibre-webserver

文件差不多有1个G。

(4)运行容器

docker run -d --name calibre --restart=always -p 8031:80 -v /data/calibre:/data -e NGINX_CLIENT_MAX_BODY_SIZE=50M talebook/calibre-webserver

NGINX_CLIENT_MAX_BODY_SIZE=50M意思是限制上传文件大小50m,可以根据需要设置大一点。如果忘记设置上传大小限制了,可以在搭建好之后修改容器里的nginx配置文件(calibre-webserver.conf)的client_max_body_size值,具体路径如下:

在宝塔面板的docker管理器可以看到刚刚启动的容器。

8031为本机的端口号,通过ip:8031来访问搭建好的书库。如果不能访问,可能需要设置安全组,允许端口访问。

3:书库设置

通过ip:端口的方式来访问,可以直接看到设置界面。

由于可能存在版权问题,因此可以开启私人图书馆模式,这样彻底就是一个私人图书馆了。当然可以跟朋友们分享密码达到有限共享。后面设置里都可以改。更多设置可以根据自己的需要调整。

4:绑定域名

ip:端口号,访问书库还是稍显不便,也不便于记忆,我还是更希望通过域名来访问。

(1)解析域名到服务ip

(2)新建一个网站

同时申请ssl证书,可以直接用宝塔面板一键申请,或者其它方式。在网站设置里面加入配置参数:

    # 反向代理到 8031 端口
      location / {
    proxy_pass http://ip:8031;
  }

      location ~ .*\.(js|css|jpg|png)$ 
{
    proxy_pass http://ip:8031;
  }

ip:8031改为自己的ip与端口号即可,这样设置后就可以通过域名来访问了。

这样设置之后可以访问,但是不显示封面,下载书籍也有问题,需要换一种方式反向代理,即通过宝塔面板的反向代理来实现。

填写两个地方:一个是目标URL为本机IP+端口(一般是127.0.0.1+ 端口),一个是发送域名:直接用$host或者填写想要用作书库的域名。

5:手机阅读

支持OPDS直接连接这个书库的软件不是很多。国内软件一个都没有,国外的软件基本上都带这个功能。

(1)静读天下

体验是最好的,推荐用这个。虽然有广告,但是好像是香港那边的,用的话是不显示广告的。软件商店没有这个软件。但是通过talebook/calibre-webserver搭建的书库,用OPDS无法下载书籍。

可以去官方网站下载:http://www.moondownload.com/chinese.html 下载速度会有点慢。

访问书库通过:http://域名/opds,设置了用户名密码就用这个登录,如果是公开的图书馆可以直接连上。软件自带的几个图书馆是访问不了的。

(2)epub read

可以安装上,不过提示有广告插件。

(3)AIreader

可以装上,没广告,但是界面太简陋了。不是这个时代的软件。

6:存在的问题

(1)不能批量上传,只能一本一本的上传。

可以通过本地calibre软件添加书籍之后,将书库整体上传可解决批量上传与文件大小问题。上传之后重启容器就可以显示新添加的书籍。

(2)今天再次查看,发现书籍的封面不显示了。通过ip+端口访问则可以显示封面。不知道是不是我这边网速的问题。还有速度有点慢。

2021.6.24更新:特意给服务器加了一块硬盘容量20G。按一本书平均5mb左右大小的话,可存下大概4000本书,要达到1万本的规模的话,估计得把空间加大到50g。先把这20g填满再考虑扩容的事吧,反正可以在线扩容。

(3)打开提示为英文

需要修改默认语言为中文

修改容器下的public与dist下index.html文件的lang值为zh-CN,具体路径如下,其它相关信息也可以在里面修改。

(4)opds无法使用

提示信息:

org.apache.http.client.clientprotocolexception

7.另一个镜像

这里介绍technosoft2000/calibre-web的安装

依次输入下面的命令:

mkdir /data/calibre /data/calibre/app /data/calibre/books /data/calibre/kindlegen /data/calibre/config
docker pull technosoft2000/calibre-web
docker create --name=calibre-web --restart=always -v /data/calibre/books:/books -v /data/calibre/app:/calibre-web/app -v /data/calibre/kindlegen:/calibre-web/kindlegen -v /data/calibre/config:/calibre-web/config -e USE_CONFIG_DIR=true -e SET_CONTAINER_TIMEZONE=true -e CONTAINER_TIMEZONE=Asia/Shanghai -e PGID=0 -e PUID=0 -p 8083:8083 technosoft2000/calibre-web
docker start calibre-web

然后就是http://IP:8083访问进行相关设置,登录用户名admin,密码admin123,记得及时修改。books文件夹的权限改为777。

默认的metadata.db文件可能会有问题,又或者缺失,可以下载下面这个,下载完之后放入books目录里:

https://pan.xuzai.com/s/Kr9H5nCDTZRbNBP

 

 

建站

搭建favicon图标生成网站

2021-6-21 17:40:00

建站

小游戏集合

2021-6-28 22:03:47

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索