TaleBook – 基于 Calibre 用 Vue 重写的支持在线阅读的个人图书管理系统

一个简洁但强大的私人书籍管理系统。基于calibre项目构建,具备书籍管理、在线阅读与推送、用户管理、SSO登录、从百度/豆瓣拉取书籍信息等功能。

file

简单好用的个人图书管理系统

友情提醒:中国境内网站,个人是不允许进行在线出版的,维护公开的书籍网站是违法违规的行为!建议仅作为个人使用!

这是一个基于Calibre的简单的个人图书管理系统,支持在线阅读。主要特点是:

  • 美观的界面:由于Calibre自带的网页太丑太难用,于是基于Vue,独立编写了新的界面,支持PC访问和手机浏览;
  • 支持多用户:为了网友们更方便使用,开发了多用户功能,支持豆瓣(已废弃)、QQ、微博、Github等社交网站的登录;
  • 支持在线阅读:借助Readium.js 库,支持了网页在线阅读电子书;
  • 支持批量扫描导入书籍;
  • 支持邮件推送:可方便推送到Kindle;
  • 支持OPDS:可使用KyBooks等APP方便地读书;
  • 支持一键安装,网页版初始化配置,轻松启动网站;
  • 优化大书库时文件存放路径,可以按字母分类、或者文件名保持中文;
  • 支持快捷更新书籍信息:支持从百度百科、豆瓣搜索并导入书籍基础信息;
  • 支持私人模式:需要输入访问码,才能进入网站,便于小圈子分享网站;

本项目曾用名:calibre-webserver

file

Docker 

部署比较简单,建议采用docker,镜像地址:dockerhub

推荐使用docker-compose,下载仓库中的配置文件docker-compose.yml,然后执行命令启动即可。 若希望修改挂载的目录或端口,请修改docker-compose.yml文件。

wget https://raw.githubusercontent.com/talebook/talebook/master/docker-compose.yml
docker-compose -f docker-compose.yml  up -d

如果使用原生docker,那么执行命令:

docker run -d --name talebook -p <本机端口>:80 -v <本机data目录>:/data talebook/talebook

例如

docker run -d --name talebook -p 8080:80 -v /tmp/demo:/data talebook/talebook

配置Kindle推送功能

以使用QQ邮箱推送为例,进入QQ邮箱网址, 申请SMTP账号,然后在管理员界面中配置即可。

请注意,用户名是必须包含邮箱后缀的(例如 @qq.com),例如 [email protected]

配置用户登录功能

本程序支持用户注册及社交网站登录功能,按照管理员配置界面的说明,可以配置出符合自己需求的用户能力。

这里重点说明下常见的社交网站的API账号申请地址:

Logo

适用于v3.5.9及后续版本

favicon和导航菜单中的二维码logo,放置在数据目录 /data/books/logo/中,可直接使用新图片覆盖掉。

适用于v3.5.8及更早版本

favicon和导航菜单中的二维码logo,已经内置在了代码目录/var/www/talebook/app/dist/img/中。

  • favicon.ico: 网站图标文件
  • link.png: 二维码图片

如果需要定制修改这两个文件,请直接将使用新的文件覆盖即可。

若使用docker启动,则需要在docker启动时挂载这两个目录。例如:

docker run -d --name talebook -p 80:80 -v /data/calibre:/data -v /data/logo:/var/www/talebook/app/dist/img/ talebook/talebook

上传文件的大小

如果发现上传大文件时出现了失败,那么可能会有两种原因:

  1. 如果是程序抛出异常(例如issue#61),那么是由于本项目中的tornado框架默认限制为100M。请进入管理员配置中修改调大对应的配置。

  2. 如果明确提示413错误码,那么一般是由于nginx限制了上传大小。本项目中自带的nginx已配置了client_max_body_size 0,即不限制上传大小; 因此建议使用者排查下是否在本项目之外配置有其他的nginx代理转发,调整其中的配置。

如果配置豆瓣插件

需启用cxfksword/douban-api-rs服务,然后将对应的URL地址(例如 http://10.0.0.1:8080 )填写到高级配置项中。

对于使用docker-composer启动的(例如使用 docker/docker-compose.yml 配置),那么URL地址为: http://douban-rs-api:80/ ,因为依据docker-composer的说明,服务名称可解析出对应的IP地址。

file

常见问题排查

supervisord启动失败

如果有调整过supervisord里面的配置(例如端口、目录),一定要执行sudo supervisorctl reload all重新读取配置,不然是不会生效的,可能会导致启动失败。

如果提示talebook:tornado-8000: ERROR(spawn error),那么说明环境没配置正确。 请打开日志文件/data/log/talebook.log查看原因,重点查看最后一次出现Traceback报错,关注其中Traceback (most recent call last)提示的错误原因。

网站能打开,但是提示500: internal server error

这种情况,一般是服务运行时出现异常,常见原因有目录权限没有配置正常、数据库没创建好、或者触发了某个代码BUG。

请打开日志文件/data/log/talebook.log查看原因,重点查看最后一次出现Traceback报错,关注其中Traceback (most recent call last)提示的错误原因,并提issue联系开发者排查。

「静读天下」APP里访问书库会失败,怎么办?

这是因为静读天下APP不支持Cookie,导致登录会失败。在最新版系统中(v2.0.0-87-gf6d8f06)已经调整程序逻辑,可以无需登录就正常浏览,仅在下载时检测权限。为了避免弹出登录提示,请配置:

  • 关闭「私人图书馆」模式。
  • 打开「允许任意下载」(访客无需注册或登录)

官方链接

Comments

No comments yet. Why don’t you start the discussion?

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注