【Docker项目实战】使用Docker部署Bibliotheca阅读习惯管理工具

举报
江湖有缘 发表于 2025/10/24 00:09:50 2025/10/24
【摘要】 【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界面清晰、功能实用,能够有效帮助用户记录和规划阅读计划。未来可进一步探索其数据备份与多端同步策略,提升使用体验。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。