【Docker项目实战】使用Docker部署Bibliotheca阅读习惯管理工具
一、Bibliotheca介绍
1.1 Bibliotheca项目简介
Bibliotheca是一款基于 Flask 开发的可自托管个人阅读管理工具,帮助用户轻松记录书籍、追踪阅读进度并可视化阅读成果。
1.2 Bibliotheca主要特点
- 通过输入 ISBN 自动抓取书籍信息与封面,简化图书添加流程。
- 支持从 Goodreads 导出的 CSV 文件批量导入阅读数据,无缝迁移个人书库。
- 提供四种阅读状态分类,灵活管理“想读”、“在读”、“已读”等不同阶段的书籍。
- 记录每日阅读活动,帮助用户养成持续阅读的习惯并追踪阅读频率。
- 自动生成每月读书总结的视觉化拼图,便于分享阅读成就。
- 集成 Google Books API,实现快速搜索和精准导入书籍元数据。
- 采用响应式 Bootstrap 界面设计,适配桌面与移动设备,提升多端使用体验。
二、本次实践规划
2.1 本地环境规划
本次实践为个人测试环境,操作系统版本为 Ubuntu 24.04.2 LTS。
| hostname | IP地址 | 操作系统版本 | Docker版本 | 部署项目 | 备注 |
|---|---|---|---|---|---|
| jeven | 192.168.3.88 | Ubuntu 24.04.2 LTS | 28.5.0 | Bibliotheca | —— |
2.2 本次实践介绍
1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下部署Bibliotheca个人电子图书馆。
2.3 注意事项
- Bibliotheca 项目定位为阅读追踪与管理工具,不提供书籍内容或在线阅读功能。
- 请确保在合法合规、能科学上网的网络环境下使用本项目,严格遵守国家关于互联网使用的各项法律法规。
- 建议通过正规渠道获取图书资源,并配合主流电子书管理软件进行个人阅读管理。
- 使用过程中请注意个人信息保护,避免访问存在安全风险的网站或下载不明来源的应用程序。
三、本地环境检查
3.1 检查Docker服务状态
检查Docker服务是否正常运行,确保Docker正常运行。
root@jeven:~# systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; preset: enabled)
Active: active (running) since Sat 2025-10-04 13:29:05 UTC; 2 days ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 888 (dockerd)
Tasks: 65
Memory: 1.2G (peak: 1.4G)
CPU: 3min 23.296s
CGroup: /system.slice/docker.service
3.2 检查Docker版本
检查Docker版本
root@jeven:~# docker -v
Docker version 28.5.0, build 887030f
3.3 检查docker compose 版本
检查Docker compose版本,确保2.0以上版本。
root@jeven:~# docker compose version
Docker Compose version v2.39.4
四、拉取Bibliotheca镜像
下载Bibliotheca容器镜像,镜像名称为:
pickles4evaaaa/bibliotheca:1.1.0。
docker pull pickles4evaaaa/bibliotheca:1.1.0

五、部署Bibliotheca服务
5.1 创建部署目录
- 创建部署目录
mkdir -p /data/bibliotheca/data && cd /data/bibliotheca
5.2 编辑部署文件
使用docker-cli方式部署,可参考以下命令:
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:1.1.0
在部署目录下,创建docker-compose.yaml文件,内容如下所示:
vim docker-compose.yaml
version: '3'
services:
bibliotheca:
image: pickles4evaaaa/bibliotheca:1.1.0
container_name: bibliotheca
restart: always
ports:
- "5054:5054"
volumes:
- /data/bibliotheca/data:/app/data
environment:
- TIMEZONE=Asia/Shanghai
- WORKERS=6
5.3 创建Bibliotheca容器
执行以下命令,创建Bibliotheca容器。
docker compose up -d

5.4 查看Bibliotheca容器状态
检查Bibliotheca容器运行状态,确保Bibliotheca容器正常启动。
root@jeven:/data/bibliotheca# docker compose ps
WARN[0000] /data/bibliotheca/docker-compose.yaml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
bibliotheca pickles4evaaaa/bibliotheca:1.1.0 "sh -c 'gunicorn -w …" bibliotheca 51 seconds ago Up 50 seconds 0.0.0.0:5054->5054/tcp,[::]:5054->5054/tcp

5.5 检查Bibliotheca容器日志
检查容器运行日志,确保Bibliotheca服务正常运行。
docker compose logs

六、访问Bibliotheca服务
6.1 访问Bibliotheca初始页
浏览器地址:
http://<个人的服务器IP>:5054,访问Bibliotheca初始页。如果无法访问,请确保宿主机的防火墙已关闭或已放行相关端口,对于云服务器还需配置相应的安全组规则。

6.2 在线搜索
点击“Search Books”选项,填写书籍名称后,确认搜索,可以成功搜索出相关书籍。

6.3 添加书籍
在搜索列表中,我们选择某本书,点击“Add Book ”添加到 Library。


6.4 管理书籍阅读状态
我们可以为图书设置“当前阅读”“已完成”“想读”或“仅限图书馆”等状态,清晰管理阅读进度。同时可记录阅读时间,追踪每日阅读习惯,让阅读更有规划。

七、总结
通过本次实践,我们成功使用Docker部署了Bibliotheca阅读习惯管理工具,实现了对个人阅读进度的高效追踪与管理。整个部署过程简洁流畅,得益于Docker容器化技术的便捷性与可移植性。Bibliotheca界面清晰、功能实用,能够有效帮助用户记录和规划阅读计划。未来可进一步探索其数据备份与多端同步策略,提升使用体验。
- 点赞
- 收藏
- 关注作者
评论(0)