一溪风月
一溪风月
Published on 2023-09-15 / 444 Visits
0
1

教程:使用 calibre-web 搭建个人书城

教程:使用 calibre-web 搭建个人书城

前一段时间折腾过这个东西,但一直不得其法,遂放弃。然而本人闲暇之余会下载电子书看,时间一长,电子书一多就极其不好维护,所以又起了搭建个人书城的心思,可是由于上次的教训,我对 calibre 心存敬畏,于是打算找一个他的替代品使用。

找到了一个叫 koodo reader 的开源产品,同样也支持 windows,mac,linux 和网页端,我甚是满意,于是在工作之余开始搭建,花费了一天时间终于搭建好了,搭建好了之后恍然发现,这个玩意是一个图书阅读器,你可以在网页端导入书籍然后浏览,但是他不会存储你的书籍。并且人家在官网有说明。

20230915160943.png

当时我的心情大概是下面这样的。

yBnkj.jpeg

无能狂怒!!!然后又得静下心来折腾 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-ebook-viewer_20230915165526.pngcalibre-gui_20230915165455.png

部署 calibre-web

我的部署环境:

  1. 腾讯云服务器2核4G

  2. docker

在 dockerhub 里面搜索 calibre。结果如下

20230915170544.png

请关注这前两位的搜索结果。

在终端中执行下面的代码。

mkdir calibre-web & cd calibre-web & touch docker-compose.yml & mkdir ./data & mkdir ./library

以上的命令含义是,在服务器上面创建一个名为 calibre-web 的目录,然后进入这个目录中,然后创建一个名字叫 docker-compose.yml 的空文件和两个名为 datalibrary 的空目录

请注意,docker 和 docker-compose 的安装方法这里不做介绍,本文默认您已经安装好 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,登录上去之后记得修改账号密码。

登录之后,会让你选择数据库。

20230915172739.png

我最开始安装就是卡到这里了,他需要在配置文件中找到一个名为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 目录中,把他取出来即可。

最终效果

20230915173954.png20230915173924.png这以后就作为我的藏经阁,希望自己多读书、读好书、好读书!!!

1JqW3.jpeg


Comment