BookLore:个人数字图书馆管理神器

BookLore:个人数字图书馆管理神器

技术背景

在数字化时代,人们的电子书籍收藏越来越多,需要一个高效的工具来管理和组织这些书籍。BookLore 就是这样一款自托管的 Web 应用,它提供了直观的界面,支持对 PDF 和电子书的浏览、阅读和进度跟踪,同时具备强大的元数据管理、多用户支持等功能,能帮助用户轻松构建和探索个人图书馆。

实现步骤

视频指南与教程

可在 YouTube 上查看官方的 BookLore 视频指南,这些视频涵盖了部署、配置和功能亮点,能帮助用户快速上手。

使用 Docker 部署

  1. 安装 Docker 和 Docker Compose:确保系统已安装 Docker 和 Docker Compose。
  2. 创建 docker-compose.yml 文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
services:
booklore:
image: ghcr.io/adityachandelgit/booklore-app:latest
container_name: booklore
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
- DATABASE_URL=jdbc:mariadb://mariadb:3306/booklore # Only modify this if you're familiar with JDBC and your database setup
- DATABASE_USERNAME=booklore # Must match MYSQL_USER defined in the mariadb container
- DATABASE_PASSWORD=your_secure_password # Use a strong password; must match MYSQL_PASSWORD defined in the mariadb container
- SWAGGER_ENABLED=false # Enable or disable Swagger UI (API docs). Set to 'true' to allow access; 'false' to block access (recommended for production).
depends_on:
mariadb:
condition: service_healthy
ports:
- "6060:6060"
volumes:
- /your/local/path/to/booklore/data:/app/data
- /your/local/path/to/booklore/books:/books
restart: unless-stopped

mariadb:
image: lscr.io/linuxserver/mariadb:11.4.5
container_name: mariadb
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
- MYSQL_ROOT_PASSWORD=super_secure_password # Use a strong password for the database's root user, should be different from MYSQL_PASSWORD
- MYSQL_DATABASE=booklore
- MYSQL_USER=booklore # Must match DATABASE_USERNAME defined in the booklore container
- MYSQL_PASSWORD=your_secure_password # Use a strong password; must match DATABASE_PASSWORD defined in the booklore container
volumes:
- /your/local/path/to/mariadb/config:/config
restart: unless-stopped
healthcheck:
test: ["CMD", "mariadb-admin", "ping", "-h", "localhost"]
interval: 5s
timeout: 5s
retries: 10

注意:可从 Releases 部分找到最新的 BookLore 镜像标签。
3. 启动容器:运行 docker compose up -d 命令启动服务。
4. 访问 BookLore:容器启动后,在浏览器中访问 http://localhost:6060 即可使用 BookLore。

OIDC/OAuth2 认证

BookLore 支持可选的 OIDC/OAuth2 认证,可集成外部认证提供商,实现无缝登录体验。可参考 YouTube 上关于配置 Authentik 与 BookLore 的视频,以及 Pocket ID 的分步设置指南。

远程认证

若在反向代理后运行 BookLore 并使用远程认证,可将 REMOTE_AUTH_ENABLED 设置为 true 以启用自动登录。可配置以下远程认证环境变量:

变量名描述默认值
REMOTE_AUTH_ENABLED启用远程认证false
REMOTE_AUTH_CREATE_NEW_USERS从远程认证自动创建用户true
REMOTE_AUTH_HEADER_NAME包含用户姓名的 HTTP 头Remote-Name
REMOTE_AUTH_HEADER_USER包含用户名的 HTTP 头Remote-User
REMOTE_AUTH_HEADER_EMAIL包含用户电子邮件的 HTTP 头Remote-Email
REMOTE_AUTH_HEADER_GROUPS包含用户组的 HTTP 头Remote-Groups
REMOTE_AUTH_ADMIN_GROUP授予管理员权限的组名-

最佳实践

  • 定期备份数据,确保数据安全。
  • 及时更新 BookLore 版本,以获取新功能和性能提升。
  • 根据实际需求配置认证方式,保障系统安全。

常见问题

  • 无法启动容器:检查 Docker 和 Docker Compose 是否正确安装,以及 docker-compose.yml 文件中的配置是否正确。
  • 认证失败:检查 OIDC/OAuth2 或远程认证的配置是否正确,可参考相关文档进行排查。
  • 无法访问 BookLore:检查容器是否正常运行,以及端口是否被占用。

BookLore:个人数字图书馆管理神器
https://119291.xyz/posts/booklore-digital-library-management-app/
作者
ww
发布于
2025年7月26日
许可协议