教程:使用 calibre-web 搭建个人书城
前一段时间折腾过这个东西,但一直不得其法,遂放弃。然而本人闲暇之余会下载电子书看,时间一长,电子书一多就极其不好维护,所以又起了搭建个人书城的心思,可是由于上次的教训,我对 calibre 心存敬畏,于是打算找一个他的替代品使用。
找到了一个叫 koodo reader 的开源产品,同样也支持 windows,mac,linux 和网页端,我甚是满意,于是在工作之余开始搭建,花费了一天时间终于搭建好了,搭建好了之后恍然发现,这个玩意是一个图书阅读器,你可以在网页端导入书籍然后浏览,但是他不会存储你的书籍。并且人家在官网有说明。
当时我的心情大概是下面这样的。
无能狂怒!!!然后又得静下心来折腾 calibre 这个东西,经过我的不(废)懈(寝)努(忘)力(食),终于我搞定了这个东西,写个文章记录一下。
calibre 简介
calibre 是一款功能强大且易于使用的电子书管理器。用户表示,它很出色 是必备的。它将允许你做几乎所有的事情,而且比普通的电子书软件更加先进。它也是 完全免费和 开源 的,非常适合 普通用户 和计算机专家。
当年,第一款在美国销售的基于电子墨水屏的索尼PRS-500 阅读器发布后,Kovid Goyal(即 calibre 项目的发起者)发现 PRS-500 无法适配 linux 系统,于是这个大佬决定对其实行逆向工程,使其能够在 Linux 上工作,于是 calibre
的前身 libprs500
诞生了。
当时还没有令人满意的工具可以将文档转换为SONY阅读器专用的 LRF
格式,因此 Kovid Goyal 决定开发一个转换工具:将最受欢迎的电子书格式转换为LRF。 事实证明,此转换器非常受欢迎,并且比SONY的(几乎不存在的)产品要好得多。它被各种出版社和数字化公司所采用,用来制作第一代 LRF格式的书籍。
随着收藏的电子书不断增多,Kovid Goyal 很快意识到对其进行管理会变得很不方便,因此 Kovid Goyal 决定为 libprs500 编写图形界面以使其变得更易使用。这成了calibre
。
calibre
是跨平台的,支持 windows,macos,linux,android 和 ios。
优点:跨平台、功能丰富、开源免费、丰富的电子书格式支持
缺点:界面有一点古朴
linux 端的界面大概是下面这样:
部署 calibre-web
我的部署环境:
腾讯云服务器2核4G
docker
在 dockerhub 里面搜索 calibre。结果如下
请关注这前两位的搜索结果。
在终端中执行下面的代码。
mkdir calibre-web & cd calibre-web & touch docker-compose.yml & mkdir ./data & mkdir ./library
以上的命令含义是,在服务器上面创建一个名为 calibre-web
的目录,然后进入这个目录中,然后创建一个名字叫 docker-compose.yml
的空文件和两个名为 data
和 library
的空目录
请注意,docker 和 docker-compose 的安装方法这里不做介绍,本文默认您已经安装好 docker 和 docker-compose。
在 docker-compose.yml
中输入以下内容:
version: "2.1"
services:
calibre-web:
image: lscr.io/linuxserver/calibre-web:latest
container_name: calibre-web
environment:
- PUID=0
- PGID=0
- TZ=Etc/GMT-8
volumes:
- ./data:/config
- ./library:/books
ports:
- 8083:8083
restart: unless-stopped
参数含义:
PUID:用户ID
PGID:组ID
TZ:时区
保存文件,然后在 docker-compose.yml
这个文件所在的目录执行:docker-compose up -d
如果网络不好,可能拉取的时间长一点,请耐心等待,等拉取完成之后即完成部署。
配置 calibre-web
部署完成之后,可以在浏览器中访问:127.0.0.1:8083 来访问 calibre-web。默认用户名和密码是:admin 和 admin123,登录上去之后记得修改账号密码。
登录之后,会让你选择数据库。
我最开始安装就是卡到这里了,他需要在配置文件中找到一个名为metadata.db
,看名字大概可以猜测出来里面存的是元数据,如果是桌面客户端他会自己生成这个文件,但是web端不会,他需要你指定这个文件所在的位置。
我一开始想的很好,不就是缺个metadata.db
文件嘛,于是我从 github 上找了一个示例的 metadata.db
文件,然后放到了 data 目录里,这可坏事了,我再打开 calibre-web 后,里面充斥着各种各样假的书籍数据,最难受的是,我还删不了。搞了半天,无奈作罢。现在反思,可能是下载的 metadata.db 这个文件我没有操作权限。
但是现在我发现,dockerhub 上有个镜像,就可以生成 metadata.db
文件,就是排行第二的那个镜像。
在终端执行下面代码:
docker run --rm -p:8080:8080 -p 8081:8081 -v ./data:/config linuxserver/calibre
拉取完成后,浏览器访问 127.0.0.1:8081。然后按照提示一步一步来就可以生成 metadata.db 文件。生成的文件在刚刚创建的 data 目录中,把他取出来即可。
最终效果
这以后就作为我的藏经阁,希望自己多读书、读好书、好读书!!!