科学工具
科学工具让世界更美好
让世界更美好

个人图书管理系统 TaleBook 安装使用手册个人图书管理系统 TaleBook 安装使用手册

TaleBook 是一个基于 Calibre 的个人图书管理系统,让用户可以更方便的管理和阅读电子书。

Calibre 自带网页不够友好,TaleBook 基于 Vue 开发了新界面,支持电脑和手机访问。TaleBook开发了多用户功能,曾支持豆瓣、QQ、微博、Github 等社交账号登录(豆瓣登录已废弃)。借助 epub.js 库实现网页在线阅读电子书,章评功能还在开发中。支持批量扫描导入书籍,方便用户快速添加大量图书。可将书籍推送到 Kindle,满足用户在移动设备上阅读的需求。支持 OPDS 协议,用户能用 KyBooks 等 APP 便捷读书。支持一键安装,通过网页版初始化配置就能轻松启动网站。优化大书库文件存放路径,可按字母分类或保持中文文件名。能从百度百科、豆瓣搜索并导入书籍基础信息,减少手动录入工作。设置访问码后,只有知道访问码的人才能进入网站,适合小圈子分享。

TaleBook 部署

推荐使用 Docker 部署,操作简单。

通过 docker - compose 部署

1、下载配置文件:wget https://raw.githubusercontent.com/talebook/talebook/master/docker - compose.yml

2、启动服务: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

开发环境搭建

前端开发

前端基于 Vue(nuxtjs + vuetify),开发者需安装 nodejs 并熟悉 Vue 框架。

操作命令:

$ cd talebook/app/
$ npm install
$ npm run dev

调试后台时,可配置 NGINX 转发后台 URL 到后台 server,示例配置如下:

server {
    listen 80;
    server_name mydev.com;
    index index.php index.html index.htm;
    root        /data/code/talebook/app/dist;

    location ~ ^/(api|get|read|auth|opds)/ {
        proxy_pass http://127.0.0.1:8082;
        proxy_set_header Host $http_host;
        proxy_set_header X - Real - IP $remote_addr;
        proxy_set_header X - Scheme $scheme;
        proxy_redirect off;
    }

    location ~ / {
        proxy_pass http://127.0.0.1:8081;
        proxy_set_header Host $http_host;
        proxy_set_header X - Real - IP $remote_addr;
        proxy_set_header X - Scheme $scheme;
        proxy_redirect off;
    }
}

后台开发

推荐用 Docker 容器作为开发环境,将本地 Python 代码目录挂载到容器内,修改代码后容器 server 会自动重启。

参考 docker - compose.yml 配置:

version: "2.4"
services:
  dev:
    image: talebook/talebook
    volumes:
      - /data/dev:/data
      - /data/code/talebook/webserver:/var/www/talebook/webserver
    ports:
      - "8082:80"
    depends_on:
      - douban - rs - api

  douban - rs - api:
    image: ghcr.io/cxfksword/douban - api - rs

手动搭建步骤

准备工作

1、主要架构和依赖:

• app/:前端 Web 代码,依赖 nuxtjs + vuetifyjs -> vuejs -> nodejs

• webserver/:后台服务代码,依赖 tornado -> calibre -> PyQt5

• tests/:后台单元测试代码

• conf/:外围程序配置文件(nginx 和 supervisor)

• docker/:docker 镜像启动脚本及预置书籍

2、创建目录:

mkdir - p / data/log/nginx/
mkdir - p / var/www/talebook/
mkdir - p / data/books/{library,extract,upload,convert,progress,settings}

安装依赖

1、安装 calibre 基础环境:

apt - get install - y tzdata
apt - get install - y -- no - install - recommends python3 - pip unzip supervisor sqlite3 git nginx python - setuptools curl
apt - get install - y calibre

2、安装 Python 库依赖:

pip3 install - r / var/www/talebook/requirements.txt
pip3 install flake8 pytest

3、安装 nodejs:

curl - fsSL https://deb.nodesource.com/setup_lts.x | bash -
apt - get install - y nodejs

编译前端代码

cd / var/www/talebook/app/
npm install
npm build

创建书库和数据库

1、创建书库:

calibredb add -- library - path = / data/books/library/ - r / var/www/talebook/docker/book/

2、创建数据库:

python / var/www/talebook/server.py -- syncdb
touch / data/books/settings/auto.py

配置并启动服务

1、复制配置文件:

cd / var/www/talebook/
copy conf/nginx/talebook.conf / etc/nginx/conf.d/
copy conf/supervisor/talebook.conf / etc/supervisor/conf.d/

2、启动服务:

service nginx restart
service supervisor restart

TaleBook 为用户提供了一个非常好用的个人图书管理方案,无论是日常使用还是二次开发,都有相对完善的文档和支持,感兴趣的开发者可以深入了解和参与项目建设。