群晖搭建Calibre电子图书馆填坑记录

2021-10-06 10:32:40 67点赞 734收藏 56评论

自从将NAS升级到DS220+以来,比较着迷群晖的docker。虽然电子书库对我来说用处不是很大,但也忍不住折腾了一番。最后导入藏书的时候才发现,原来像收破烂一样,收了很多书,真正读的不过1,2成。最近看过一些整理笔记或者知识管理的博文,里面提到知识应当不断整理,才能转化为自己的知识。这些收藏在角落里的应当果断地断舍离。这是题外话了。

本文主要还是记录一些折腾心得,希望可以帮到需要的人,节省一些时间和精力。网络上其实有很多已经实践了的文章,可作参考:

- 打造基于 NAS 的个人随身数字书库 - 少数派

- skylake架构DIY NAS 篇二:打造属于自己的私人云书库_NAS存储_什么值得买

- 拍娃党之文件管理:NAS篇二]Calibre-web电子书库解决方案 - 简书

Calibre是一个电子书管理软件,请看“calibre - 电子书管理”。然后,有热心网友,将其web化,提供了基于Bootstrap框架的web客户端,即“janeczku/calibre-web”。再然后,docker镜像也就应运而生,于是群晖结合docker又具备了新的可玩性。Calibre-web的docker镜像主要有两个:

- technosoft2000/calibre-web - Docker Image | Docker Hub

- linuxserver/calibre-web - Docker Image | Docker Hub

在群晖的docker中都可以安装,两款docker的主要区别在于后者不包含电子书格式转换模块,而前者则是包含了转换模块。可以将电子书转换成不同格式,例如:PDF,EPUB,AZW3,MOBI等等。

我最终选择了technosoft2000/calibre-web,倒不是因为电子书转换功能。而是因为linuxserver/calibre-web过于精简。该docker中vi工具都没有,也缺少calibredb工具。对于我这种需要批量导入已有图书的就不太友好了。后文有针对批量导入的一些个人的经验分享。

后续章节罗列一些我遇到的问题和解决的方法。

数据库

第一次打开Calibre界面时,需要选择数据库地址。一开始选择的linuxserver/calibre-web镜像,怎么都没法进入主界面。参考Calibre-web部署后一些细节问题答疑 - 知乎

1. 其他文章提到部署时需要metadata.db文件,不然在进入网页配置时会无法进行下一步。

答:technosoft2000/calibre-web这个镜像倒是会自动去创建metadata.db文件,不需要像其他镜像那样需要用户先用PC版calibre来创建metadata.db然后复制进群晖相关文件夹。但更容易遇到另一个问题,我在问题2里说。

2. 最初运行technosoft2000/calibre-web镜像数分钟后,calibre-web会自动停止运行。并且在日志里查看会提示缺少“`***.py`”文件。

答:虽然technosoft2000/calibre-web会自动下载运行所需的文件,但因为它本身服务器和国内连接不畅的原因,很容易出现下载失败的情况,然后就会有类似提示。需要等待其他时间段尝试让其自动下载文件,或者改善网络。

我是使用technosoft2000/calibre-web镜像,直接可以生成metadata.db,并直接进入界面。如果是用linuxserver/calibre-web镜像可能要动点其他的小心思。比如用PC端Calibre生成好metadta.db文件,再拷过来。为了省事儿,可以直接上technosoft2000/calibre-web,各种定制性还是令人省心不少。

支持豆瓣

豆瓣已经在2020年8月无情地关闭了书籍元数据下载功能(俗称刮削)。网上搜到的大多是无效的解答,例如:“calibre-web 获取元数据 豆瓣API失效解决办法_瑞哥的博客-CSDN博客_calibre 元数据”

最新(2021年9月)亲测可用的办法是使用这个docker镜像服务:fugary/simple-boot-douban-api: Simple douban book api。具体方法也很简单,在群晖上下载好docker,并启动,然后再修改代码,重启Calibre-web docker镜像即可:

vi /calibre-web/app/cps/static/js/get_meta.js

# 找到 var douban = "https://api.douban.com"; 替换成自己的NAS_IP地址

var douban = "http://NAS_IP:8085";

成功示例:

群晖搭建Calibre电子图书馆填坑记录

另外值得一提的是,calibre-web集成的Google books搜索,在客户端(非NAS端)科学上网的情况下,就可以获取数据。针对日常刮削场景多一个选择总归是好的。

群晖搭建Calibre电子图书馆填坑记录

批量导入

可以参考这一篇“威联通折腾篇十九:Calibre-web | Verne in GitHub”。其实就是会用这个命令就可以了:

calibredb add --library-path=/books -r /path/to/your/book_dir_you_want_to_add

calibredb还有很多其他功能,看帮助文档就好了,简单易学:

Usage: calibredb command [options] [arguments]

calibredb is the command line interface to the calibre books database.

command is one of:

list

add

remove

add_format

remove_format

show_metadata

set_metadata

SSL setting

如果需要通过https访问calibre-web网页,建议通过群晖反向代理设置。只要配置好证书,就可以访问。不要轻易碰下面的配置。

群晖搭建Calibre电子图书馆填坑记录

如果一定需要,请参考[SSL setting · Issue #98 · Technosoft2000/docker-calibre-web · GitHub]。

我就是误配置,导致页面显示ERR_EMPTY_RESPONSE。最后需要将书库中的这几个文件删除,才能打开网页。

  • app.db

  • gdrive.db

具体原因不详。

总结

  • 建议选择technosoft2000/calibre-web镜像

  • 建议使用fugary/simple-boot-douban-api取代豆瓣API刮削

展开 收起
56评论

  • 精彩
  • 最新
  • 建议试试talebook,界面比calibreweb好不少管理也更简单

    校验提示文案

    提交
    谢谢推荐,有空可以试试看

    校验提示文案

    提交
    talebook有办法修改书籍位置吗?我安装好后默认放在docker下,没有找到自定义的地方。
    相比其他docker多了设置私人图书馆密码功能,挺好用的,就是这个书籍位置不能改太难受了

    校验提示文案

    提交
    还有8条回复
    收起所有回复
  • 批量刮削怎么弄?我用pc版豆瓣用不了

    校验提示文案

    提交
    我是一个个点的 [喜极而泣]

    校验提示文案

    提交
    收起所有回复
  • 小白求助这个豆瓣插件怎么下载安装呢?

    校验提示文案

    提交
    我用的是群晖上的一个docker自建服务,不是插件

    校验提示文案

    提交
    容器安装好了,就是不知道这个命令怎么弄 vi/这个

    校验提示文案

    提交
    还有2条回复
    收起所有回复
  • 请问这个软件有套件版吗?我也是DS220+,DOCKER实在不会弄,也觉得麻烦,就想找个套件版可以一键安装的,之前JELLYFIN最初也是DOCKER,后面出了套件版贼好用。

    校验提示文案

    提交
    似乎没有套件版

    校验提示文案

    提交
    第三方源里好象有这个套件

    校验提示文案

    提交
    收起所有回复
  • 你好,小白求助,端口 8085 是指服务器端口,还是web-calibre端口,还是随便设置的一个端口?
    谢谢!

    校验提示文案

    提交
    啥意思?calibre-web就是服务啊

    校验提示文案

    提交
    收起所有回复
  • technosoft的镜像总失败,无法启动,看日志是下载cps.py失败了。

    校验提示文案

    提交
    他家的镜像要git hub下代码,所以要科学上网,或者离线下好拷过去

    校验提示文案

    提交
    收起所有回复
  • 一直卡到 raise FakeUserAgentError('Maximum amount of retries reached')上了

    校验提示文案

    提交
    这个docker镜像要科学上网,访问GitHub

    校验提示文案

    提交
    科学后又成了无法打开数据库文件,醉了

    校验提示文案

    提交
    还有2条回复
    收起所有回复
  • qnap用technosoft的版本在线发布了2万多本书。
    当然管理最方便的不是命令行,而是pc端的calibre。
    nas建个book目录,docker数据库指向这个目录,然后pc用smb或者nfs挂载这个目录,pc端的calibre数据库目录也指向这个目录,后面只要pc端批量加书,批量刮削,每次重启下docker就能显示新增书籍了

    校验提示文案

    提交
  • 还需要更傻瓜化一些,会的人不用看,看的人不会。图文教程是最受欢迎的

    校验提示文案

    提交
    去看看 这个是作者的博客,小白教程

    校验提示文案

    提交
    收起所有回复
  • 太难了??我的亲娘各种不懂

    校验提示文案

    提交
  • 很想要,很高大上,但是很看不懂啊 [脸红]

    校验提示文案

    提交
  • 太感谢了,找了好久

    校验提示文案

    提交
  • 豆瓣刮削不好用了,哎

    校验提示文案

    提交
  • 客户端有解决办法吗?豆瓣刮削不能用好久了

    校验提示文案

    提交
    docker版叶用不了

    校验提示文案

    提交
    收起所有回复
  • 已成功,感谢博主

    校验提示文案

    提交
  • 这个好棒,就是看着复杂点,老的1511不知道能不能承受

    校验提示文案

    提交
  • cbz格式的漫画在线打开都是corrupt or not an image [喜极而泣]
    另外ios上有啥能加载calibre-web上文件的阅读软件吗

    校验提示文案

    提交
  • 之前弄了好久不成功放弃了,最先是metadata的坑,弄完这个发现还有其他问题 [喜极而泣] ,试了好几个镜像也不大行,有空按你的文章再试试 [赞一个]

    校验提示文案

    提交
  • 豆瓣插件不好用了的,可以去插件作者的主页看看,有惊喜哦

    校验提示文案

    提交
  • api的端口一定要8085吗?换了其他端口不行。8085和qb冲突了

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
734
扫一下,分享更方便,购买更轻松