个人图书馆和阅读追踪器Bibliotheca
简介
什么是 Bibliotheca ?
Bibliotheca是一款基于Flask构建的、可自托管的个人图书馆和阅读追踪网页应用。它允许你记录、整理和可视化你的阅读历程。通过ISBN快速添加书籍,追踪阅读进度,记录每日阅读情况,并生成你已读完书籍的每月总结图片。
和之前老苏介绍的 个人电子书库管理器Biblioteca 就相差一个字母,不仔细看很容易混淆
主要特点
- 📖添加书籍:通过
ISBN快速添加书籍,自动获取封面和元数据,并支持从Goodreads CSV文件导入。 - ✅进度追踪:可以标记书籍为“正在阅读”、“想读”、“已完成”或“仅在库中”。
- 📅阅读日志:记录每日阅读活动,维护阅读连续性。
- 🖼️月度总结:生成可分享的每月图书完成图像拼贴。
- 🔎搜索功能:使用
Google Books API查找和导入书籍。 - 📱响应式用户界面:基于
Bootstrap设计,适合移动设备使用。
应用场景
- 个人图书管理:用户可以通过该应用管理自己的书籍,记录阅读进度,适合书籍爱好者。
- 阅读习惯追踪: 帮助用户养成良好的阅读习惯,维护阅读记录,适合学生和专业人士。
- 分享与社交:生成可视化的阅读总结,便于用户与朋友分享自己的阅读成就。
- 小组读书活动:适合读书俱乐部和社区使用,共享阅读进度和书籍推荐。

Bibliotheca 是一个功能强大的工具,适合任何想要系统管理和追踪自己阅读习惯的人。通过其丰富的功能,用户可以轻松组织个人图书馆,记录阅读进展,并与他人分享自己的阅读旅程。
安装
在群晖上以 Docker 方式安装。
在注册表中搜索 bibliotheca ,选择第一个 pickles4evaaaa/bibliotheca,版本选择 latest。
本文写作时,
latest版本对应的软件版本为v1.0.2;

卷
在 docker 文件夹中,创建一个新文件夹 bibliotheca,并在其中建一个子文件夹 data
| 文件夹 | 装载路径 | 说明 |
|---|---|---|
docker/bibliotheca/data |
/app/data |
存放数据库文件 |

端口
本地端口不冲突就行,不确定的话可以用命令查一下
1 | # 查看端口占用 |
| 本地端口 | 容器端口 |
|---|---|
5054 |
5054 |

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

命令行安装
如果你熟悉命令行,可能用 docker cli 更快捷
1 | # 新建文件夹 bibliotheca 和 子目录 |
也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件
1 | version: '3.8' |
然后执行下面的命令
1 | # 新建文件夹 bibliotheca 和 子目录 |

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

搜索点 Search Books

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

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

回到 Home

可以更新图书的阅读状态,设置阅读时间等
Currently Reading:当前阅读Finished:已完成Want to Read:想读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/bibliothecaIntroducing Bibliotheca- your self-hosted personal library and reading tracker : r/selfhosted
地址:https://www.reddit.com/r/selfhosted/comments/1l8swak/introducing_bibliotheca_your_selfhosted_personal/