飞牛NAS通过Docker部署booklore系统,打造私人数字图书馆,提供智能书架,内置阅读器

BookLore是一款自托管的开源多用户数字图书馆系统,系统配置了智能书架、自动元数据、Kobo和KOReader同步、BookDrop导入、OPDS 支持,以及内置 EPUB、PDF 和漫画阅读器。Booklore能够让你完全掌控数字图书收藏,你的电子书籍和数据会保存在自己的服务器上,这样能够确保隐私和独立性。
主要特色:
-
支持常见格式:EPUB、PDF、漫画(CBZ/CBR 等)。
-
内置阅读器:可以在浏览器内阅读,支持进度同步、注解、主题自定义、移动端优化。
-
元数据获取:能够从Goodreads、Amazon、Google Books等来源自动拉取封面、简介、作者信息、评分等。
-
智能书架(Smart Shelves):支持基于规则的自动分类(如按作者、体裁、阅读状态等)。
-
支持多用户:支持家庭或小组共享图书馆,并且每个用户有独立进度和权限。
-
同步功能:支持Kobo和KOReader设备同步阅读进度;OPDS 支持,可连接到其他阅读器App。
-
BookDrop:将文件扔到指定文件夹,自动导入并处理。
-
其他功能:搜索过滤、标签管理、阅读统计、邮件发送书籍等。
-
自大优势:完全自托管、无订阅、私密、无广告、数据完全掌控。
BookLore推荐使用Docker Compose部署,简单可靠,以下内容就是基于飞牛nas完成的安装部署。
步骤1:飞牛nas文件管理,建立booklore文件夹,创建.env文件,上传到该文件夹下。

env配置文件内容分析,密码需要修改
# BookLore Application Settings
APP_USER_ID=0
APP_GROUP_ID=0
TZ=Asia/Shanghai
BOOKLORE_PORT=6060
# Database Connection (BookLore)
DATABASE_URL=jdbc:mariadb://mariadb:3306/booklore
DB_USER=booklore
DB_PASSWORD=booklore2025 # 数据库密码,修改
# MariaDB Container Settings
DB_USER_ID=1000
DB_GROUP_ID=1000
MYSQL_ROOT_PASSWORD=booklore2025
MYSQL_DATABASE=booklore步骤2:打开docker,选择compose创建项目,复制下面分析的yml配置文件,并按需修改,进行容器构建,拉取镜像文件,确定容器启动完成。

docker compose yml配置文件分享
services:
booklore:
image: booklore/booklore:latest
# Alternative: Use GitHub Container Registry
# image: ghcr.io/booklore-app/booklore:latest
container_name: booklore
environment:
- USER_ID=${APP_USER_ID}
- GROUP_ID=${APP_GROUP_ID}
- TZ=${TZ}
- DATABASE_URL=${DATABASE_URL}
- DATABASE_USERNAME=${DB_USER}
- DATABASE_PASSWORD=${DB_PASSWORD}
- BOOKLORE_PORT=${BOOKLORE_PORT}
depends_on:
mariadb:
condition: service_healthy
ports:
- "${BOOKLORE_PORT}:${BOOKLORE_PORT}"
volumes:
- ./data:/app/data
- ./books:/books
- ./bookdrop:/bookdrop
healthcheck:
test: wget -q -O - http://localhost:${BOOKLORE_PORT}/api/v1/healthcheck
interval: 60s
retries: 5
start_period: 60s
timeout: 10s
restart: unless-stopped
mariadb:
image: lscr.io/linuxserver/mariadb:11.4.5
container_name: mariadb
environment:
- PUID=${DB_USER_ID}
- PGID=${DB_GROUP_ID}
- TZ=${TZ}
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
- MYSQL_DATABASE=${MYSQL_DATABASE}
- MYSQL_USER=${DB_USER}
- MYSQL_PASSWORD=${DB_PASSWORD}
volumes:
- ./mariadb/config:/config
restart: unless-stopped
healthcheck:
test: [ "CMD", "mariadb-admin", "ping", "-h", "localhost" ]
interval: 5s
timeout: 5s
retries: 10拉取镜像,构建完成,2个容器启动正常


步骤3:浏览器访问http://nasip:6060,首先完成管理员账户和密码的建立,然后登录系统,系统界面是英文的,不习惯的建议浏览器安装沉浸翻译插件



步骤4:相关设置及图书上传、管理,沉浸翻译的还凑合,先去创建首个图书馆吧。





图书馆建立完成,没有书,需要上传,点击上面的上传图标

上传一本完成后,就会显示出来

点击3个点弹出菜单或者鼠标光标移动到书本上面点击出现的感叹后图标,就可以查看书籍详情,元数据的自动获取等

同时顶部的提示可以看见操作记录

当然,点击书的阅读图标,可以直接进行图书阅读和阅读设置

系统还提供了强大的统计功能,如图书馆统计和阅读统计


功能很强大,就不再一一展示了,喜欢的小伙伴可以尝试自己部署测试。
总结
BookLore 适合自托管爱好者,尤其是拥有大量PDF/EPUB格式电子书收藏的用户,比传统 Calibre 更现代、更易用。
「推荐文章」
Macbook Pro笔记本通过Vmware Fusion虚拟机安装飞牛FnOS ARM内测版本,体验分享
飞牛NAS通过Docker部署WeRSS-微信公众号订阅助手, 实现RSS阅读器管理公众号更新
飞牛NAS通过Docker部署Paperless-ngx应用,搭建本地智能文档管理中心
[NAS用户必看]使用Docker Compose部署Tugtainer系统,镜像自动更新
[NAS用户必看]使用Docker Compose部署File Browser文件管理系统,轻量化、高效快捷