手把手部署BookLore魔法电子书库:打造你的私人云端图书馆
电子书的管理方式似乎总是落后于时代。相信许多朋友已经尝试过Calibre Web、Kavita或Komga这类服务。本期我们将介绍另一款功能强大的图书馆项目——BookLore。它拥有硬核的界面和丰富的功能,特别适合漫画与电子书收藏爱好者用来系统性地整理个人藏书库。
如果你热爱阅读,却又苦于在不同设备间整理与访问书籍的繁琐流程,那么不妨尝试一下这个项目。它能够帮助你轻松地存储、管理各类电子书,并支持直接从浏览器进行同步阅读。倘若你觉得网页版阅读体验尚有不足,还可以将其连接到其他第三方阅读应用,从而获得更佳的阅读感受。

项目概览
该项目的完整名称是 booklore-app/booklore,可以在GitHub上直接搜索到。项目作者在其主页提供了体验Demo,有兴趣的读者可以先行试用一番。
简而言之,BookLore 是一款专为自托管环境打造的数字图书馆Web应用程序。通过它,你可以实现以下一系列功能:
- 上传、分类与整理:支持 PDF、ePub、CBZ、CBR 和 CB7 等多种主流电子书格式。
- 自动抓取书籍元数据:自动从网络获取书籍的封面、作者、简介、评分等信息。
- 多用户协作:支持创建多个用户账户,并可设置不同的操作权限,便于账号管理。
- 内置阅读器:提供可直接在网页中在线阅读的功能。
- 阅读进度跟踪:记录你的阅读进度并提供书籍相关的统计信息。
- 同步与连接:支持通过 OPDS 协议与 Kobo、KOReader 等设备或其他阅读应用同步阅读进度。
- 便捷导入:利用 BookDrop 功能,通过拖放文件即可实现自动导入。
- 全设备响应:在手机、平板和电脑上均能获得良好的浏览体验。
核心亮点与深度功能
1. 智能图书管理体系
BookLore 采用“图书馆 (Library) + 书架 (Shelves)”的层级系统,允许你按照作者、主题、阅读状态等维度自定义分类。其独有的“魔法书架 (Magic Shelves)”功能,能够根据你预设的规则(如“最近添加”、“未读漫画”)动态地更新图书集合。此外,高级搜索功能支持通过关键字和特定元数据字段进行检索,帮助你快速定位目标书籍。
2. 强大的元数据抓取引擎
应用能够自动从多个在线图书信息源抓取书籍的元数据。当然,你也可以随时手动编辑或调整这些自动获取的信息。这一功能对于维护一个外观专业、信息完整的个人图书库而言至关重要。
3. 多格式在线阅读支持
BookLore 内置的阅读器提供了良好的格式兼容性,包括:
- PDF 文档阅读
- ePub 电子书阅读
- CBX / 漫画文件阅读 你无需下载文件即可直接在浏览器中浏览内容,系统还会自动跟踪你的阅读进度。
4. 完善的多用户与权限管理
管理员可以轻松创建多个用户账户,并为不同的用户分配差异化的操作权限,例如上传、编辑或删除书籍的权限。这使得 BookLore 不仅适用于个人用户,也非常适合家庭或小型团队共同使用和管理一个共享书库。
5. 灵活的连接与同步机制
除了支持标准的 OPDS 协议,方便连接各类阅读器客户端外,BookLore 还能够与 Kobo 和 KOReader 等专用阅读设备同步阅读进度。此外,它还提供了通过电子邮件分享书籍的便捷功能。
6. BookDrop 自动导入功能
这是一个极具实用性的特性:你只需将电子书文件拖入NAS上指定的“bookdrop”文件夹,BookLore 便会自动检测到新文件,并完成导入与元数据抓取的全过程,极大简化了书籍添加的步骤。
为何它特别适合NAS用户?
NAS(网络附加存储)的核心优势在于提供长期、稳定且可控的数据存储与访问。而 BookLore 恰好弥补了NAS在“内容呈现”和“交互管理”方面的短板,二者结合相得益彰:
- 数据完全自托管:所有的书籍文件与数据库都存储在你自己的NAS中,无需依赖任何第三方云服务,保障了隐私与数据安全。
- 支持多用户协同:非常适合家庭成员、朋友或小型工作团队共同维护和使用一个中心化的数字图书馆。
- 自动化元数据管理:节省了大量手动输入书名、寻找封面等繁琐且耗时的工作。
- 与移动阅读器联动:通过支持OPDS协议,可以方便地连接到手机上的阅读APP(如Moon+ Reader, KOReader等),实现随时随地阅读。
- 部署灵活便捷:配合 Docker 或 Docker Compose,可以在绝大多数主流NAS系统上快速完成部署和运行。
总而言之,安装BookLore后,你的NAS将从单纯的“被动文件仓库”,转变为一个功能主动、服务完善的个人数字内容平台。
详细部署流程
本文将以威联通(QNAP)NAS为例,演示通过Docker Compose部署BookLore的完整过程。本次部署将使用独立的MariaDB数据库容器。如果你希望共用NAS上已有的数据库,请根据实际情况调整配置,可参考以往相关的数据库教程。
官方提供的部署示例包含一个 .env 环境变量文件,为了简化流程,下文将把所有环境变量直接写入 docker-compose.yaml 配置中。以下为部署代码,你可以根据自身需求进行微调(如修改文件路径、端口号等):
services:
booklore:
image: booklore/booklore:latest
container_name: booklore
environment:
- USER_ID=0 # 通过SSH输入 `id` 命令可查看,威联通admin用户默认是0
- GROUP_ID=0
- TZ=Asia/Shanghai
- DATABASE_URL=jdbc:mariadb://mariadb:3306/booklore
- DATABASE_USERNAME=booklore
- DATABASE_PASSWORD=booklore
- BOOKLORE_PORT=6060
depends_on:
mariadb:
condition: service_healthy
ports:
- "6060:6060"
volumes:
- /share/Container/booklore/data:/app/data # 应用数据,可自行更改路径
- /share/Container/booklore/books:/books # 书籍存储目录,可自行更改路径
- /share/Container/booklore/bookdrop:/bookdrop # 自动导入目录,可自行更改路径
restart: always
healthcheck:
test: wget -q -O - http://localhost:6060/api/v1/healthcheck
interval: 60s
retries: 5
start_period: 60s
timeout: 10s
mariadb:
image: lscr.io/linuxserver/mariadb:11.4.5
container_name: mariadb
environment:
- PUID=0 # 同上
- PGID=0 # 同上
- TZ=Asia/Shanghai
- MYSQL_ROOT_PASSWORD=ydxian1234 # 请务必修改为强密码
- MYSQL_DATABASE=booklore
- MYSQL_USER=booklore
- MYSQL_PASSWORD=booklore
volumes:
- /share/Container/booklore/mariadb/config:/config # 数据库配置,可自行更改路径
restart: always
healthcheck:
test: [ "CMD", "mariadb-admin", "ping", "-h", "localhost" ]
interval: 5s
retries: 10
timeout: 5s
配置完成后,打开威联通NAS上的 Container Station 应用,创建新的应用程序,并将上述代码粘贴至编辑区。

基本使用指南
容器创建后,如果发现BookLore服务处于“已创建”但未“运行”的状态,可以尝试手动启动一次。若启动失败,请重点检查 /share/Container/booklore 相关目录的文件权限。威联通系统对文件权限管理较为严格,可能需要通过SSH登录,使用 chmod 或 chown 命令为相应目录赋予正确的读写权限。权限修正后,重新部署容器即可。

部署成功后,在浏览器地址栏输入 你的NAS_IP地址:6060 即可访问BookLore的Web界面。首先需要注册一个账户,请注意,“Username”即是后续的登录名。

成功登录后的初始界面如下。目前的一个小遗憾是界面尚未支持中文,但现代浏览器的网页翻译功能已相当成熟,可以辅助理解。

对于初次使用的用户,建议先尝试导入20至50本书籍,以熟悉各项操作。首先需要在首页创建一个新的“书库 (Library)”。下方的演示仅为示例,建议你根据作者、 genre(类型)或系列进行更细致的分类,而非一次性全部导入。

创建新书库时,可以选择开启“文件夹监控”功能。启用后,当指定文件夹内有新书加入时,书库会自动更新。

书籍目录通常映射为 /books 目录。如果你的书籍存放在更深层的子文件夹中,可以继续导航选择。

书库创建完成后,系统会开始扫描并导入书籍。PDF、EPUB等格式都能被快速识别,但需注意,目前暂不支持MOBI格式。

我们还可以在设置中配置元数据的刷新方式,选择偏好的元数据来源(如OpenLibrary, Google Books等),并决定是否将元数据保存到书籍文件本身。BookLore在这些方面提供了高度的可定制性。


除了提供全设备响应式的网页端体验外,BookLore还支持与Kobo电子书阅读器集成,并能与KOReader同步阅读进度,扩展了其使用场景。

项目的官方文档已经写得相当详尽,涵盖了从基础设置到高级功能的各个方面,因此本文不再赘述更多细节,建议有深入需求的用户直接查阅官方文档。

结语
BookLore 是一个功能全面、设计精良的自托管电子书库解决方案,它能有效地将你的NAS转变为强大的个人数字阅读中心。唯一的期盼是能有更多的国内开发者参与其中,为其贡献中文界面翻译,让本地化体验更上一层楼。