个人图书馆和阅读追踪器Bibliotheca

简介

什么是 Bibliotheca ?

Bibliotheca 是一款基于 Flask 构建的、可自托管的个人图书馆和阅读追踪网页应用。它允许你记录、整理和可视化你的阅读历程。通过 ISBN 快速添加书籍,追踪阅读进度,记录每日阅读情况,并生成你已读完书籍的每月总结图片。

和之前老苏介绍的 个人电子书库管理器Biblioteca 就相差一个字母,不仔细看很容易混淆

主要特点

  1. 📖添加书籍:通过 ISBN 快速添加书籍,自动获取封面和元数据,并支持从 Goodreads CSV 文件导入。
  2. ✅进度追踪:可以标记书籍为“正在阅读”、“想读”、“已完成”或“仅在库中”。
  3. 📅阅读日志:记录每日阅读活动,维护阅读连续性。
  4. 🖼️月度总结:生成可分享的每月图书完成图像拼贴。
  5. 🔎搜索功能:使用 Google Books API 查找和导入书籍。
  6. 📱响应式用户界面:基于 Bootstrap 设计,适合移动设备使用。

应用场景

  • 个人图书管理:用户可以通过该应用管理自己的书籍,记录阅读进度,适合书籍爱好者。
  • 阅读习惯追踪: 帮助用户养成良好的阅读习惯,维护阅读记录,适合学生和专业人士。
  • 分享与社交:生成可视化的阅读总结,便于用户与朋友分享自己的阅读成就。
  • 小组读书活动:适合读书俱乐部和社区使用,共享阅读进度和书籍推荐。

Bibliotheca 是一个功能强大的工具,适合任何想要系统管理和追踪自己阅读习惯的人。通过其丰富的功能,用户可以轻松组织个人图书馆,记录阅读进展,并与他人分享自己的阅读旅程。

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 bibliotheca ,选择第一个 pickles4evaaaa/bibliotheca,版本选择 latest

本文写作时, latest 版本对应的软件版本为 v1.0.2

docker 文件夹中,创建一个新文件夹 bibliotheca,并在其中建一个子文件夹 data

文件夹 装载路径 说明
docker/bibliotheca/data /app/data 存放数据库文件

端口

本地端口不冲突就行,不确定的话可以用命令查一下

1
2
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 容器端口
5054 5054

环境

可变
TIMEZONE 将时区设为 Asia/Shanghai
WORKERS Gunicorn 工作进程数设置为 6

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 新建文件夹 bibliotheca 和 子目录
mkdir -p /volume1/docker/bibliotheca/data

# 进入 bibliotheca 目录
cd /volume1/docker/bibliotheca

# 运行容器
docker run -d \
--restart unless-stopped \
--name bibliotheca \
-p 5054:5054 \
-v $(pwd)/data:/app/data \
-e TIMEZONE=Asia/Shanghai \
-e WORKERS=6 \
pickles4evaaaa/bibliotheca:latest

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
version: '3.8'

services:
bibliotheca:
image: pickles4evaaaa/bibliotheca:latest
container_name: bibliotheca
restart: unless-stopped
ports:
- "5054:5054"
volumes:
- ./data:/app/data
environment:
- TIMEZONE=Asia/Shanghai # Set your preferred timezone here
- WORKERS=6 # Set the number of Gunicorn workers to 6

然后执行下面的命令

1
2
3
4
5
6
7
8
9
10
# 新建文件夹 bibliotheca 和 子目录
mkdir -p /volume1/docker/bibliotheca/data

# 进入 bibliotheca 目录
cd /volume1/docker/bibliotheca

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:5054 就能看到主界面

搜索点 Search Books

点图书后面的 Add Book 添加到 Library

也可以点 Add Book 菜单来添加书籍,这里的添加方式更丰富,可以直接导入 Goodreads 中导出的 CSV 文件

回到 Home

可以更新图书的阅读状态,设置阅读时间等

  1. Currently Reading:当前阅读
  2. Finished:已完成
  3. Want to Read:想读
  4. Library Only:仅限图书馆

功能很简单,为了防止你忘记备份数据库,作者很贴心的在每个页面下面,都放了 Download Database 按钮

参考文档

pickles4evaaaa/bibliotheca: Track your reading habits, log books, and visualize your library—all in your own space.
地址:https://github.com/pickles4evaaaa/bibliotheca

Introducing Bibliotheca- your self-hosted personal library and reading tracker : r/selfhosted
地址:https://www.reddit.com/r/selfhosted/comments/1l8swak/introducing_bibliotheca_your_selfhosted_personal/