使用 Docker 部署 calibre-web 私人云书库

本贴最后更新于 1611 天前,其中的信息可能已经渤澥桑田

1 什么是 calibre-web

我自己一直在用 Calibre 管理 mac 上的本地图书,说是世界上最好的电子书管理解决方案一点也不过分,时间久了就会想有没有 web 版,可以突破本地服务的局限,为自己的各种终端提供电子书服务。
Calibre-web 可以说就是 calibre 的 web 版,它 提供了用户友好的对外网页展示的形式,可以在网上展示,管理,浏览自己的书籍,让书跟着自己走。
Calibre-web 的 GitHub 地址在 这里

2 安装 clibre-web 的 docker 镜像

Docker 的安装,在《建站第三篇 使用 Docker 安装 Jellyfin 媒体服务器》一文中已经讲过,这里直接部署 calibre-web。

2.1 选择镜像源

  • 先上命令
docker run -d --name=calibre -p 8083:8083 -v /calibre/config:/config -v /media/ivy/新加卷/书籍:/books technosoft2000/calibre-web

这里说明一下,docker 镜像有两个:technosoft2000/calibre-web 和 linuxserver/calibre-web。
两者的区别是:
technosoft2000 自带 Calibre 电子书转换,linuxserver 没有,linuxserver 更轻量一些。

我选择使用 technosoft2000/calibre-web,耐心等待镜像下载完毕,以为会像 jellyfin 那样,启动即可以访问,然而还是 too naitive!在浏览器中输入 ip:8083,回车。看到的页面是这样的

image.png

用 telnet 测试,结果是这样的。

telnet 访问

难道 docker 镜像还有需要手动开启端口?用 iptable-save 检查了防火墙端口情况,并没有什么异常,但 calibre-web 始终启动不了。
只好去查日志,看看到底出了什么问题,命令用这个

docker logs -f -t --tail 500 calibre

最后一行果然报了一个错:

2019-07-07T19:37:46.808133534Z /usr/bin/python: can't open file '/calibre-web/app/cps.py': [Errno 2] No such file or directory

怎么可能没有 cps.py 文件呢?这可是 calibre 的关键启动文件。再继续往前翻日志,发现了一行可疑的信息:

2019-07-07T18:07:17.678190883Z [INFO] ... git clone -b master --single-branch https://github.com/janeczku/calibre-web.git /calibre-web/app -v
2019-07-07T18:07:17.862018388Z Cloning into '/calibre-web/app'...
2019-07-07T18:07:21.811325140Z POST git-upload-pack (189 bytes)
2019-07-07T18:33:32.070402321Z error: RPC failed; curl 56 OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 104

原来镜像先用 git clone 从 github 拉代码,结果拉失败了,什么都没有拉下来。网络环境没法改变,另一个镜像 linuxserver/calibre-web 也存在同样的问题。那么只好去寻找别的镜像源。

十分幸运,让我找到了一个不需要从 github 上拉代码同时也带有 ebook-convert 转换工具的镜像版本,dockerhub 上的地址在这里,镜像作者的博客文章地址在这里,在此感谢镜像作者的分享。
接下来就好办了,让我们按部就班的开始吧。

2.2 部署 calibre-web

  • 拉镜像
docker pull ctiself/calibre-web
  • 创建容器
docker create --name=calibre -v /calibre/config:/config -v /media/ivy/新加卷/书籍:/books -p 8083:8083 ctiself/calibre-web
  • 启动容器
docker start calibre
  • 再看看日志
    docker logs -f -t --tail 500 calibre
    这次信息很干净

查看日志

  • 在浏览器中输入 ip:8083,出现站点配置页面,这表明 calibre-web 安装完毕。

初始配置

3 配置 calibre-web

  • 配置书库路径

配置书库路径

  • 端口设置为 8083,如果想用 https,将 pem 和 key 文件放入 config 文件夹内

https 配置

  • 指定日志文件路径

指定日志文件路径

  • 设置转换程序的路径

设置转换程序的路径

  • 提交设置后,就可以点登陆按钮,第一次的默认用户名和密码时 admin,admin123。
    放一张上传好电子书的首页图
    首页图

至此,calibre-web 安装完毕。


参考文章

  1. 《使用 Docker 部署 calibre-web》,https://www.crazymonkmind.com/archives/159.html
  2. 《自己制作内置 calibre 程序的 calibre-web docker 镜像》,https://www.crazymonkmind.com/archives/200.html

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...