0


Calibre-Web Docker部署

经测试,pdf支持在线阅读,也就是网页打开,而且也可以记住阅读进度,doc文档不可以在线阅读,只有下载功能,其他暂未测试。

!!!请注意,阅读进度是保存在浏览器缓存的,也就是说换一个浏览器或者换一个设备,就无法同步了。目前几个比较多人用的类似的电子书架,几乎都基于Calibre改的,因此几乎都不支持跨设备同步阅读进度,若要同步,一般是基于WebDev实现。

一.Calibre-Web是什么

    Calibre-Web 是 Calibre 的 Web 实现,支持网页管理书籍、下载书籍、在线阅读等功能,Calibre是一个电子书书管理工具。简单说,Calibre-Web是一个网页版电子书架。

二.Calibre-Web如何用Docker搭建

1. 测试环境

    系统:Centos 7

    架构:x86_64

    Docker版本:26.1.4(当前最新版本)

    使用VMWare测试。

2. 搭建步骤

2.1 前置步骤

    要求Docker已经安装好。

2.2 搭建Calibre-Web

2.2.1 创建目录
    Calibre-Web需要创建两个目录用于Docker映射。我创建的:
mkdir /data/calibre-web/config
mkdir /data/calibre-web/books
    其中,config用于存放Calibre-Web的配置文件,books用于存放书籍。这里的目录路径和目录名是可以随意的,但是建议使用有意义的命名,用于后面做映射用。
2.2.2 Docker拉取镜像
    Calibre-Web项目存在GitHub上,在国内不太好拉取。它有三四个版本的Docker镜像,其中有一个已经停止维护很久了,但是使用的人还是不少的。这几个版本略有差异,但不会太大,我这里用的是johngong版本的一个国内可用镜像。

    Docker镜像地址:

https://docker.aityp.com/image/docker.io/johngong/calibre-web:0.6.22-7.9.0

    Docker镜像拉取:
docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/johngong/calibre-web:0.6.22-7.9.0
docker tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/johngong/calibre-web:0.6.22-7.9.0  docker.io/johngong/calibre-web:0.6.22-7.9.0
2.2.3 启动Docker镜像
    执行以下命令即可,注意替换参数
docker run -d \
--name=calibre-web \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Asia/Shanghai \
-p 8083:8083 \
-v /data/calibre-web/books:/library \
-v /data/calibre-web/config:/config \
-e DOCKER_MODS=linuxserver/calibre-web:calibre \
-e CALIBRE_SERVER_WEB_LANGUAGE=zh_CN \
--restart unless-stopped \
johngong/calibre-web:0.6.22-7.9.0

参数含义如下:

  • -d: 后台运行容器。
  • --name=calibre-web: 指定容器的名称,可以按喜好更改。
  • -e PUID=1000: 指定运行 Calibre-Web 的用户 ID,可以不用更改。
  • -e PGID=1000: 指定运行 Calibre-Web 的用户组 ID,可以不用更改。
  • -e TZ=Asia/Shanghai: 设置容器的时区。
  • -p 8083:8083: 将容器的 8083 端口映射到主机的 8083 端口,不建议更改,除非主机端口被占用。
  • -v /data/carlibre-web/books:/library: 将本地电子书库目录挂载到容器内的 /books 目录,冒号前的路径就是在第一步时创建的books的目录,记得改为你自己的目录,后面上传到Calibre-Web的书籍会被保存到这里。很多别的文章这里会写:-v /data/calibre-web/books:/books,这样子虽然看起来更统一,但是在这个镜像下,我测试了下,如果这么写,会因为镜像自身的配置导致出问题(后面说明),建议把容器内的目录直接映射到library,这是镜像自身的目录。
  • -v /data/calibre-web/config:/config: 将本地配置目录挂载到容器内的 /config 目录,冒号前的路径就是第一步创建的config目录,启动Calibre-Web的容器后,配置信息会保存到这里,注意改为你自己的目录
  • --restart unless-stopped: 容器在退出时自动重启。
  • johngong/calibre-web:0.6.22-7.9.0: 这里是第二步下下来的镜像名称和Tag,Tag可以通过命令: docker images 查看,执行这个命令,输出的信息中有Tag一列,记得要加Tag,不然会Docker会去拉最新版本,网络不好就拉不下来了。

至此,Calibre-Web部署完毕。

2.2.4 使用Calibre-Web
    打开浏览器,访问:ip:8083即可,**初始账密:admin/admin123**。如果前面操作都一样,一般这里是没有问题的。只是需要进行一些必要设置。
设置书籍信息数据库位置

开启上传图书功能

设置完成后,刷新一下,右上角就有“上传书籍”按钮了,这个功能默认是没有开启的。

3. 其他问题

Q:界面不是中文?

A:如果用的是同一个镜像的话,一般就是中文了。不然尝试下看看启动Docker时设置的时区不是上海会不会影响。在Calibre-Web内部暂时未找到关于语言的设置。

Q:提示需要上传metadata.db?

A:这个文件是Calibre用于存储书籍信息的数据库文件。如果操作步骤都跟前面的说明一样的话,一般是不会有这个问题的。如果问题还存在,可以重装试试,还是不行的话可以百度一下解决办法,这个问题很多人都有,解决方法其实也很简单,就是下载Calibre的客户端,拿出它的metadata.db,上传到你部署的服务器上的主机的books目录下就行了。

Q:上传图书就出现500报错,看日志出现:permission denial?

A:这个就是前面说的,在Docker映射的时候,没有映射到容器内部的library上。建议是按照前面的步骤来。如果非要映射到容器内的其他目录,需要进入容器中,在里面将metadata.db移动或者复制到其他目录。但我不知道这会不会出现别的问题,不建议这么做。

标签: docker 容器 运维

本文转载自: https://blog.csdn.net/qq_43873907/article/details/140763857
版权归原作者 清遥丷 所有, 如有侵权,请联系我们删除。

“Calibre-Web Docker部署”的评论:

还没有评论