共计 2390 个字符,预计需要花费 6 分钟才能阅读完成。
大家好,我是星哥,作为一个电子图书收集者,想要管理自己的几百本的电子书,确实不好整理,直到我发现这个开源项目。而且可以在 Docker 中部署。搭建一个开源且强大的图书管理系统,管理并且在线浏览自己搜集到的电子书。
talebook 简介
一个简洁但强大的私人书籍管理系统。
开源地址:https://github.com/talebook/talebook
友情提醒:中国境内网站,个人是不允许进行在线出版的,维护公开的书籍网站是违法违规的行为!建议仅作为个人使用!
主要特点
-
美观的界面:由于 Calibre 自带的网页太丑太难用,于是基于 Vue,独立编写了新的界面,支持 PC 访问和手机浏览;
-
支持多用户:为了网友们更方便使用,开发了多用户功能,支持豆瓣(已废弃)、QQ、微博、Github 等社交网站的登录;
-
支持在线阅读:借助 epub.js 库,支持了网页在线阅读电子书(章评功能开发中);
-
支持批量扫描导入书籍;
-
支持邮件推送:可方便推送到 Kindle;
-
支持 OPDS:可使用 KyBooks 等 APP 方便地读书;
-
支持一键安装,网页版初始化配置,轻松启动网站;
-
优化大书库时文件存放路径,可以按字母分类、或者文件名保持中文;
-
支持快捷更新书籍信息:支持从百度百科、豆瓣搜索并导入书籍基础信息;
-
支持私人模式:需要输入访问码,才能进入网站,便于小圈子分享网站;
硬件环境
星哥演示在在云服务器上,当然如果你有 NAS 也可以在 NAS 上安装,任何支持 docker 的硬件。
本文完整的方案会用到域名、云服务器:
-
服务器一台(必须,安装 Centos7.2 以上版本系统,如果没有请戳,http://y.xgss.net/aliyun or http://y.xgss.net/tx 叩谢)
-
域名一个,下文以 book.xgss.net 演示。
-
SSL 证书一个(三个月免费即可,本文用宝塔自动申请)
Docker 部署
首先是不要安装 docker,这步就不介绍了。
部署比较简单,建议采用 docker
执行命令
docker run -d --name calibre -p < 本机端口 >:80 -v < 本机 data 目录 >:/data talebook/calibre-webserver
星哥执行如下:
docker run -itd --name talebook \
--restart always \
-p 8081:80 \
-v /data/docker/talebook:/data \
talebook/calibre-webserver
解释
-itd
这三个选项的组合表示容器启动时的行为:
-i (interactive):让容器保持标准输入流打开,允许你与容器交互。通常与 -t 一起使用。
-t (tty):分配一个伪终端,使容器可以正常处理终端输入。
-d (detached):让容器在后台运行,而不占用当前的终端窗口。如果不加 -d,容器会在前台运行并输出日志。
--name talebook:
给容器命名为 "talebook",方便管理。
--restart always:
设置容器在停止后自动重启。
-p 8081:80 端口随意设置一个本地不冲突的端口即可(宿主机端口为 8081,docker 为 80);
-v /data/docker/talebook:/data
这是一个卷挂载(volume mount)选项,用于将宿主机上的某个目录挂载到容器内:
/data/docker/talebook:宿主机上的路径,容器将使用这个路径来存储数据,我们的书籍就可以放到这里了。
/data:容器内部的路径,指定容器内的路径来挂载宿主机上的文件夹。
部署成功
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f5303bfe1480 talebook/calibre-webserver "/var/www/talebook/d…" 18 minutes ago Up 18 minutes 443/tcp, 0.0.0.0:8081->80/tcp, :::8081->80/tcp talebook
安装 Talebook
通过 IP+ 端口访问,注意防火墙和安全策略要开放端口 8081.
填写资料
是否开启私人图书馆模式,如果开启每次进入就需要输入访问码
配置站点
再宝塔面板中配置 http://book.xgss.net
添加站点
网站中,首先配置 http,域名要解析到服务器中。
配置 SSL
再
证书申请成功,如果要强制 HTTPS,就勾选这里。
到期提醒设置,也要勾选。
访问站点
出现下图则表示,证书和站点都配置成功。
这个是默认的站点,下一步要把默认改为我们的 docker 镜像提供的服务。
添加反向代理
在站点管理里面点击“反向代理”,添加代理名称,目标 URL 填本机的 8081 端口。
再访问域名
访问 https 的站点,如图则成功
输入安装时候配置的密码,进入系统,这样站点配置完成。
使用 Talebook
导入书籍
进入后台做一些基础的设置,把测试的数据删掉
由于 docker 部署的时候是这样的,
-v /data/docker/talebook:/data
我们就可以把图书上传到这个目录
/data/docker/talebook/books/imports
扫码书籍之后,导入全部书籍
既可在线阅读了
结尾