当前位置:首页 > 群晖 > Calibre > 正文内容

群晖Docker部署Calibre Web打造全功能书库

zyhwxm3年前 (2022-02-10)Calibre558

功能简介

平时喜欢搜集网络上的精品电子书,那么管理成为了一个问题,放在硬盘的一堆电子书文件,想看也不知道看哪本,正好之前安装的黑群晖,了解到Calibre web这样的一个开源项目,于是就完成了这样的项目搭建。功能包括:

  1. 管理自己的电子书,可管理海量书籍,包括书籍的分类、作者、简介等

  2. 可在线观看、书籍格式转换、推送到Kindle

  3. 可选:通过frp等内外穿透工具实现任意地方访问

Calibre Web 安装步骤

前提:安装好了群晖并安装了Docker(需要CPU支持)

首先打开群晖管理界面的Docker,在注册表里搜索calibre-web,选择第二个Docker映像双击下载。

对应的Docker Hub地址:technosoft2000/calibre-web - Docker Hub

PS:试过很多的Calibre web镜像,这个镜像是功能最强大的,包括电子书格式转换和在线阅读,而linuxserver/calibre-web 只能没有在线阅读和转换的功能。

technosoft2000的镜像详细功能如下

  • Bootstrap 3 HTML5界面

  • 完整的图形设置

  • 用户管理

  • 管理界面

  • 用户界面为英语,法语,德语,波兰语,简体中文,西班牙语

  • 电子书阅读器应用程序的OPDS提要

  • 按标题,作者,标签,系列和语言过滤和搜索

  • 创建自定义书籍收藏(书架)

  • 支持编辑电子书元数据

  • 支持将电子书从EPUB转换为Kindle格式(mobi / azw

  • 将电子书下载限制为登录用户

  • 支持公共用户注册

  • 只需单击一个按钮即可将电子书发送到Kindle设备

  • 支持直接在浏览器中阅读电子书(.txt.epub.pdf

  • 上载PDFepubfb2格式的新书

  • 支持口径自定义列

  • 细粒度的每用户权限

  • 自我更新能力

等待下载完成后,在映像中,双击下载好的映像,则可以创建容器。

官方推荐的启动代码为:

docker create --name=calibre-web --restart=always \

-v <your Calibre books folder>:/books \

-p <HTTP PORT>:8083 \

technosoft2000/calibre-web

  • 1
  • 2
  • 3
  • 4

因此我们设置一个文件夹映射和端口映射即可。首先打开File Station,创建一个用于存放电子书的文件夹,我是直接建立了一个books共享文件夹,然后再建立了一个calibre文件夹用于存放电子书(推荐)。建好之后,回到Docker中来。

设置名称为calibre-web,可根据喜好设置,对应代码中的--name=calibre-web,然后点击高级设置。

勾选启用自动重新启动,对应代码中的--restart=always,可根据需要设置,若不勾选,则重启群晖则不自动运行此容器。

点击,添加文件夹,选择刚刚创建用于存放电子书的文件夹,转载路径为/books,对应代码中的-v <your Calibre books folder>:/books

然后点击端口映射,设置一个本地端口,不冲突即可,如我的为25556,那么之后访问即:http://IP:25556,对应代码中的:-p <HTTP PORT>:8083。不推荐使用默认的自动,这样每次重启会改变端口,造成访问地址的改变。

点击应用即可,然后启动该容器。

这里打开群晖IP:端口访问,如我的IP192.168.0.102,可以看到已经可以成功打开。

在书库配置中,设置为/books,点击保存。

此时会提示数据库路径无效,请输入正确的路径

由于Calibre-web是基于Calibre这款软件的,书库里会有metadata.db的数据库文件,而我们创建的文件夹是没有任何文件。

因此我们电脑中安装Calibre,然后用电脑挂载群晖,在此位置建立一个空白书库(注意:群晖需要安装WebDAV Server)。

完成后,就会在该位置生成一个metadata.db的文件。然后重试,提示配置已经更新。

若仍出现问题,则在File Station中设置一下该文件夹的权限,设置为Everyone为读取、写入。

点击登录,用户名:admin 密码:admin123

配置

设置中文

默认为英文界面,在admin——language设置即可。

开启网页上传,对于少量书籍上传非常实用

在管理权限——编辑基本配置——功能配置中,其它功能也可在此开启。

刷新一下页面,在右上角则出现上传书籍。测试上传书籍报错:

数据库错误:(sqlite3.OperationalError) attempt to write a readonly database [SQL: INSERT INTO authors (name, sort, link) VALUES (?, ?, ?)] [parameters: (u'\u672a\u77e5', u'\u672a\u77e5', u'')] (Background on this error at: http://sqlalche.me/e/e3q8)。

  • 1

原因在于无写入权限,将创建的文件夹设置为完全控制(读取、写入应该就可以了),然后重启容器,即可解决此问题。

成功在Web上传:

上传或编辑书籍时,可点击最下面的获取元数据,即可获得作者、解决、封面图片等各类信息,这是我非常喜欢的一个功能,很强大。获取后保存即可,封面更改有时会迟一点生效。

转换书籍为epub格式从而在线观看

此程序可以在线观看TXTpdfepub格式,epub格式是一个通用的电子书格式,因此将其它书籍转换为此格式从而在线阅读。

这样就可以在线阅读了,有目录导航,可以添加书签,全屏阅读等,并且可以记住阅读位置,下一次打开接着阅读(不可跨设备,书签可以跨设备),体验非常棒。

设置Kindle推送

可参考:Kindle 推送教程:教你用电子邮箱推送电子书书伴

Kindle推送稍微复杂点,首先必须有一个亚马逊账号,登录KindleKindle软件或设备都可以)后,会有一个个人文档邮箱,然后在Kindle设备或APP登录亚马逊账号都可以查看,以@kindle.cn结尾的邮箱。

第一步,到Calibre web中,填写Kindle邮箱;

第二步,配置邮件发送服务器;

这里推荐使用163邮箱,主机名为smtp.163.com,配置如下:

登录163邮箱,开启smtp服务,然后生成一个授权码:

然后将授权码填入到SMTP密码一栏。

第三步,将配置的发送邮件服务器添加到Kindle已认可邮箱列表

设置中,首选项——个人文档设置——已认可的发件人电子邮箱列表,添加该邮箱即可。

全部完成后,即可一键发送电子书到Kindle设备了。

批量上传电子书

那么如果有大量电子书该如何上传呢?思路还是一样,直接用电脑挂载群晖的文件夹,使用Calibre打开该书库,然后就可以批量上传、管理了。

总结

总之,搭建过程还是较为麻烦,涉及的方面较多,需要了解相关的基础知识,但是此篇教程我写的较为详细,相信只要耐心都能搭建成功,毕竟我使用这个有一段时间了,有的需要注意的地方我都写出来了,Docker映像也选择好了,注意文件夹的权限是一个大坑,搭建不成功很大方面是这个原因。

另外内外穿透方面,这涉及的更多了,提供这一种思路,有能力自行折腾了。

 


版权声明:本文版权归原作者所有,仅供技术参考;

                 若有违反您个人权益,请留言反馈删除相关信息;


本文链接:http://zyh-c.myds.me:8086/post/22.html

标签: calibre

相关文章

群晖NAS中calibre-web的豆瓣元数据获取

群晖NAS中calibre-web的豆瓣元数据获取

最近在NAS系统中使用Docker容器calibre-web搭建了自己的个人图书馆,在获取图书元数据的时候发现豆瓣源API已经失效了,网上提供的apikey都已经不能用了。豆瓣网页上基本也是防爬虫的,只有少部分网页没有做防爬处理,不过也是有...

将 AZW3 格式转换为 MOBI 格式并保持原有排版格式

小伙伴多次向 Kindle 伴侣提出一个问题,那就是通过 Calibre 将排版精美的 azw3 格式电子书转换成 mobi 格式后推送到 Kindle,排版格式会发生很大的变化,比如行距过窄、内嵌字体丢失等等。 这是因为 azw3...

Calibre 使用教程之为 Kindle 电子书添加页码

Calibre 使用教程之为 Kindle 电子书添加页码

在书伴发布《如何理解 Kindle 电子书的"位置号"和"页码"》这篇文章后,昵称为 ZJG 的小伙伴在微信公众号中留言指出 Calibre 是支持为 kindle 电子书添加"页码"的,并将具体的实现方法投稿给了书伴,在此感谢这位小伙伴的...

Calibre 常用命令行工具详解之 ebook-convert

全能型电子书管理软件 Calibre 除了有可视化操作界面,还附带了一系列命令行工具(Command Line Interface),这些工具功能独立且实用。如果你熟悉命令行的使用,并且想要在处理电子书方面提高效率,抑或想要把一些和电子书处...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。