在数字化阅读的时代,管理大量电子书籍和漫画成了许多阅读爱好者的难题。
幸运的是,通过 Calibre 和 Komga 的结合,我们可以轻松打造一个个人化的书籍与漫画管理系统。无论是在家中使用本地设备,还是通过云服务器随时随地访问,我们都能实现对书籍和漫画的集中管理与高效存取。
本文将介绍如何在 Mac Mini 上部署这两款工具,帮助你建立一个便捷的数字阅读平台。
方案一:有服务器时的部署(Mac Mini协助管理)
在这个方案中,我们将利用外部服务器来托管 Calibre-Web 和 Komga ,而 Mac Mini 则作为一个辅助管理设备,专注于书籍的细致管理。
这样做的好处是,可以利用服务器的易访问性,使得书籍和漫画的管理与访问更加流畅,同时让 Mac Mini 只需处理 Calibre 的书籍库和元数据管理,而不需要承担额外的 Web 服务负担。
具体操作步骤包括:在服务器上使用 HestiaCP 面板快速部署 CalibreWeb 和 Komga ,Mac Mini 部署 Calibre 后通过 NextCloud 将书籍库和元数据处理同步到服务器,用户可以通过浏览器访问 CalibreWeb 进行书籍查看和阅览,通过 Komga 进行漫画阅览。服务器的 Web 服务和数据托管使得你能够在任何地方、任何设备上轻松访问和管理你的数字书籍与漫画。
1. 服务器环境准备
不出意外的话,本站的所有教程都会用 HestiaCP 面板来操作和演示。
2. 在服务器上部署 Calibre-Web
在 HestiaCP 中新建网站,配置ssl,新建数据库的操作就不再赘述了。如果你是第一次看到 HestiaCP 系列教程,请点击下方链接,就能看到完整的一系列教程了。
如果你打算使用 HestiaCP 的备份与恢复功能,可以将 Docker Compose 文件和持久化存储设置在网站目录下。接下来我们就以这种方式进行演示。
我们在 /home/user/web/domain/public_html/
目录下创建一个 docker-compose.yml
文件。内容参考如下:
services:
calibre-web:
image: lscr.io/linuxserver/calibre-web:latest
container_name: calibre-web
environment:
- PUID=1099
- PGID=1099
- TZ=Asia/Shanghai
- DOCKER_MODS=linuxserver/mods:universal-calibre #optional
- OAUTHLIB_RELAX_TOKEN_SCOPE=1 #optional
volumes:
- /home/user/web/domain/public_html/config/:/config
- /calibre/:/books
ports:
- 8083:8083
restart: unless-stopped
在 /home/user/web/domain/public_html/
目录 运行sudo docker-compose up -d
即可。
反向代理请参考:
访问页面,输入默认用户admin
,默认用户密码admin123
,登陆。
然后将不要动了,一会安装好 Calibre 后,再配置metadata.db
。
3. 在服务器上部署 Komga
在 HestiaCP 中新建网站,配置ssl,新建数据库的操作就不再赘述了。如果你是第一次看到 HestiaCP 系列教程,请点击下方链接,就能看到完整的一系列教程了。
如果你打算使用 HestiaCP 的备份与恢复功能,可以将 Docker Compose 文件和持久化存储设置在网站目录下。接下来我们就以这种方式进行演示。
我们在 /home/user/web/domain/public_html/
目录下创建一个 docker-compose.yml
文件。内容参考如下:
services:
komga:
image: gotson/komga
container_name: komga
volumes:
- type: bind
source: /home/user/web/domain/public_html/config/
target: /config
- type: bind
source: /komga/
target: /data
ports:
- 25600:25600
user: "1099:1099"
environment:
- TZ=Asia/Shanghai
- JAVA_TOOL_OPTIONS=-Xmx4g
restart: unless-stopped
在 /home/user/web/domain/public_html/
目录 运行sudo docker-compose up -d
即可。
反向代理请参考:
访问页面后,先创建一个账户,然后进入页面进行操作。
在后台添加漫画库,选择根文件夹,在 comic
文件夹(或你自行挂载的其他文件夹)中选择映射的文件夹,其它设置保持默认即可。
4. 在 Mac Mini 上部署 Calibre
下载安装即可。
5. 利用 NextCloud 同步所有内容
回顾一下之前在部署 Calibre-Web 时,我们在 Docker Compose 配置中设置了持久化目录,映射了 /calibre/
到 /books
。这一部分将延续这种配置方式。
首先,在 Mac Mini 上部署 Calibre 后,它会自动生成书库,当然,你也可以手动设置书库路径。接着,我们使用 NextCloud 将书库中的所有内容同步到一个指定的文件夹 X。
在这里提到的 文件夹 X 实际上是指你希望存储书库内容的目录,可以理解为上文设置的/calibre/
目录。具体来说,/calibre/ 是你在部署 Calibre 时指定的书库存储位置。如果你希望书库的内容能够跨设备或跨服务器进行同步和共享,这时候就可以借助 NextCloud 来实现同步。
例如,当你在 Mac Mini 上管理书库时,Calibre 会生成书库文件和元数据。如果你想把这些文件同步到远程服务器上,以便在部署 Calibre-Web 的服务器上访问和管理,就需要将这些内容同步到一个指定的文件夹(即文件夹 X)。
然后,假设你有一个稳定的存储服务器,或者你希望把书库和数据库分开存储(例如,为了数据冗余或更好的性能),你可以使用 WebDAV(或者其他同步工具)将这个文件夹 X(即你存储书库的目录)挂载到部署 Calibre-Web 的服务器上。通过挂载,你就能让部署在服务器上的 Calibre-Web 访问到这些书库数据。
挂载完成后,返回 Calibre-Web 的设置页面,在数据库配置部分,选择挂载的 metadata.db
文件。为了方便同步,建议将书库和数据库放在同一目录下,这样可以确保它们在本地和服务器之间始终保持一致。
在这里,NextCloud 并不是必须要重新部署的。你可以通过外部 WebDAV 存储将部署 Calibre-Web 的服务器 同步到 Mac Mini 上的书库,而无需再部署一个独立的 NextCloud 服务器。具体来说,你只需要将 部署 Calibre-Web 的服务器上的书库文件通过 WebDAV 挂载到 NextCloud 外部存储上,这样Mac Mini就能直接访问和管理同步过来的书库内容。
Komga 不需要设置数据库配置,只需要同步书库内容。NextCloud的同步设置不再详述。
为了节省 Mac Mini 的本地存储空间,你可以在 NextCloud 完成所有内容同步后,取消勾选部分内容,这样会保留目录结构,但实际数据会存储在远程服务器上。
需要注意的是,在操作过程中,确保 不要 让 NextCloud 同步,等所有操作完成后再进行同步。一旦同步完成,回到 Calibre-Web 设置中重新连接数据库,Komga 也需要重新扫描一下资料库即可。
方案二:没有服务器时的部署(Mac Mini 本地管理)
如果没有服务器,整个书籍和漫画管理系统可以完全依靠 Mac Mini 来完成。你可以在 Mac Mini 上本地部署 Calibre 和 Komga ,进行书籍和漫画的全方位管理。Calibre 本身带有强大的书籍管理和元数据编辑功能,你可以利用它来精细化管理你的书库。在 Calibre 的设置中开启 Web 服务功能,通过 Surge Ponte,即便你没有公网ip,Mac Mini 也可以成为本地的书籍管理中心,允许你通过浏览器访问、修改和添加书籍。
同时,Komga 作为漫画管理平台也可以在本地运行,让你能够像管理电子书一样轻松管理漫画。
在没有服务器的情况下,Mac Mini 本身充当了全能管理的角色,只需借助 Surge Ponte 来访问本地资源,便可以远程享受一站式的数字内容管理服务。
1. 在 Mac Mini 上部署 Calibre
安装即可
安装 Calibre 后,不需要再额外安装 Calibre-Web。在 Calibre 中,进入“首选项” > “通过网络共享”,然后修改端口并启用网络服务即可。这样,你就可以通过指定端口远程访问和管理你的书库了。
2. 在 Mac Mini 上部署 Komga
安装即可
3. 设置 Surge Ponte 来实现远程访问
参考:
完成上面的部署后,你可以通过配置 Surge Ponte 来实现远程访问。这样,无论你身处何地,都能轻松通过网络访问设置好的 Calibre 网络共享端口,浏览你的 Calibre 书库。
4. 利用 NextCloud 同步所有内容
由于所有内容都由 Mac Mini 处理,因此不需要额外同步任何内容。如果你计划进行远程备份,推荐使用方案一,利用服务器进行备份,而不是在方案二中通过 NextCloud 进行远程备份。
这样,方案二在本地管理和使用时不涉及复杂的备份机制,简化了操作流程。如果需要更高的可扩展性和备份功能,方案一会是一个更好的选择。
其他设置
1. Calibre 不要翻译我的文件路径
macOS V1 & V2
- 解压下载的包,得到
python-lib.bypy.frozen
文件。 - 打开
Finder
,进入“应用程序” (/Applications),右键点击“Calibre——显示包内容”,进入Contents/Frameworks/plugins
(对应的完整路径是/Applications/calibre.app/Contents/Frameworks/plugins
)。将第 1 步下载包里的python-lib.bypy.frozen
,拷贝覆盖过来、关闭Finder
窗口,正常打开Calibre
即可。
2. Calibre 导入漫画后直接导出到 Komga 管理
Komga 暂时不支持多层文件夹嵌套,它只识别解压后的单层文件夹。换句话说,漫画文件必须直接位于文件夹的第一层,而不能再包含子文件夹。
假设你有一个漫画《海贼王》的文件夹结构:
不支持的结构:
海贼王/
│
├── 第一卷/
│ ├── 海贼王01.cbz
│ ├── 海贼王02.cbz
│ └── ...
│
└── 第二卷/
├── 海贼王03.cbz
├── 海贼王04.cbz
└── ...
在这种情况下,Komga 无法正确识别每个卷(如 "第一卷"、"第二卷")中的漫画文件,因为它只支持直接在同一层目录下的文件。
支持的结构:
海贼王/
│
├── 海贼王01.cbz
├── 海贼王02.cbz
├── 海贼王03.cbz
├── 海贼王04.cbz
└── ...
在这种结构下,所有漫画文件都位于单一目录下,Komga 可以正确识别并显示这些漫画。
在 Calibre 中设置保存模板
在 Calibre 中,你可以通过修改保存书籍至硬盘的保存模板,来确保漫画文件按照 Komga 支持的格式进行整理。具体步骤如下:
- 打开 Calibre,进入 首选项。
- 在 保存书籍至硬盘 的设置中,找到 保存模板 选项。
- 将保存模板修改为以下内容:
{series:ifempty(_oneshots)}/{series_index:0>2s|| - }{title} - {authors}
解释:
- {series:ifempty(_oneshots)}:这个部分会根据书籍是否属于某个系列来确定文件夹结构。如果是系列书籍(例如《海贼王》),它会将书籍保存到相应的系列文件夹中;如果是单本书(例如单独的漫画),则会保存到默认的文件夹。
- {series_index:0>2s|| - }:这个部分用来为书籍文件添加编号。
series_index
是系列中书籍的索引(如《海贼王》中的第1卷、第2卷等)。0>2s
语法会确保索引数字为两位数(例如,01, 02)。如果书籍没有系列索引,|| -
会将文件名以 "-" 连接(例如海贼王 - 作者
)。 - {title}:书籍的标题,即漫画的名称。
- {authors}:漫画的作者。
通过这种保存模板,Calibre 会按照你设置的规则将书籍整理到适当的文件夹中,确保每本书籍(或漫画)文件都能以清晰且一致的结构保存到硬盘上,这样 Komga 就能够正确识别并展示它们。
结果
在保存后,文件夹结构会像这样:
海贼王/
│
├── 01 - 海贼王 - 尾田荣一郎.cbz
├── 02 - 海贼王 - 尾田荣一郎.cbz
└── ...
这样整理过后的漫画文件,就可以直接上传到 Komga 中进行管理和阅读。
3. Komga 的 One-Shots 设置
One-Shots 通常指的是 单行本,即仅有一卷的漫画作品。
你可以在库的设置中,通过编辑库和扫描器配置来指定 单行本(One-Shots)的目录。
举个例子:
├── 海贼王
│ ├── 海贼王_001.cbz
│ ├── 海贼王_002.cbz
│ ├── 海贼王_003.cbz
│ └── ...
├── 我的英雄学院
│ ├── 我的英雄学院_001.cbz
│ ├── 我的英雄学院_002.cbz
│ └── ...
└── _oneshots
├── 魔法少女的奇幻冒险.cbz
├── 时间旅行者.cbz
└── 最后的审判.cbz
目录结构的效果:
- 海贼王 会被识别为一个常规的漫画系列。
- 我的英雄学院 也会被识别为另一个常规的系列。
- _oneshots 中的文件会被识别为单行本(One-Shots),每个文件会显示为一个独立的作品。
阅读
如果你喜欢在多个设备上阅读漫画,选择一款支持 OPDS 的漫画阅读软件将极大提升你的阅读体验。OPDS(Open Publication Distribution System)协议可以让你将漫画库与各种兼容软件连接,实现跨设备同步。
为什么推荐缓存下载?
在使用这些漫画阅读软件时,建议选择 缓存下载 而不是直接将漫画文件导入到设备中。缓存下载有以下几个优点:
- 同步阅读记录:缓存下载能够确保你在不同设备之间切换时,自动同步阅读进度、书签和历史记录。而直接导入漫画文件无法做到这一点,进度不能同步,影响体验。
- 节省存储空间:缓存下载只会保存当前阅读的内容,而无需将整个漫画文件导入设备,帮助节省存储空间,特别是对于大容量漫画库的用户。