使用 Docker 部署 TaleBook 私人书籍管理系统
1)项目介绍
GitHub:https://github.com/talebook/talebook
Talebook 是一个简洁但强大的私人书籍管理系统。它基于 Calibre 项目构建,具备书籍管理、在线阅读与推送、用户管理、SSO 登录、从百度/豆瓣拉取书籍信息等功能。
友情提醒: 个人是不允许进行在线出版的,维护公开的书籍网站是违法违规的行为!建议仅作为个人使用!
2)功能特色
3)项目截图
4)项目部署
4.1)安装 Docker 软件
# 高版本 Docker 安装
curl -fsSL https://get.docker.com/ | sh
# 关闭防火墙
systemctl disable --now firewalld
setenforce 0
# 启用 Docker
systemctl enable --now docker
4.2)检查 Docker 服务
systemctl status docker
4.3)开启 IPv4 forwarding
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
systemctl restart network
sysctl net.ipv4.ip_forward
5)安装 Docker-compose
5.1)下载 Docker-Compose 软件包
curl -L https://github.com/docker/compose/releases/download/v2.2.2/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
5.2)Docker-Compose 增加执行权限
chmod +x /usr/local/bin/docker-compose
5.3)检查 Docker-Compose 版本
docker-compose -v
6)在线部署
6.1)创建目录
mkdir /docker/talebook -p;cd /docker/talebook
6.2)启用容器
docker run -d --name talebook -p 8080:80 -v /docker/talebook:/data talebook/talebook
6.3)验证容器
docker ps -a
7)访问验证
使用浏览器访问 TaleBook 前台 http://服务器IP地址:8080
首次打开有个配置界面,上面的用户名,密码,管理员邮箱都可以任意设置,为了更安全,我们这里务必 "开启私人图书馆模式"。访问码便是我们之后打开后台的密码。
这里输入我们上步设置的 访问码
OK,正式进入后台界面了。点击右上角的 "请登录"
输入前面创建的账号和密码就可以正式使用了!
8)使用体验
8.1)导入本地书籍
如果只是导入单本书籍很简单,直接点击 右下角的箭头,然后直接上传即可。
导入多本书也很简单,点击左侧状态栏的 "导入图书"
可以看到导入说明:直接将我们存放在本地的所有图书直接拖到服务器 的 /docker/talebook/books/imports 文件夹即可。
如图便是我将本地的图书直接拖到了 服务器上的指定文件夹
这个文件夹( imports )其实是 TaleBook 容器自动创建的。
拖过来之后回到 "导入图书" 这里,然后点击 "扫描书籍"
稍等一会就能显示我们导入的所有图书了。
然后勾选最上面的小方框全选,点击 "导入全部书籍"。
OK!搞定!因为我保存的书籍书名都非常的规范,可以看到刮削的还不错,全部都显示了正确的封面。
8.2)手动书籍信息刮削
看了一下,还是有部分“漏网之鱼”没有刮削到,直接点进来之后在右上角点击 **"管理 **— 从互联网更新信息"
看到显示的信息之后,点击
"设置书籍信息及图片"
如果书名或者作者不对,需要选择 "编辑书籍信息" 更改
8.3)观看体验
好了,以上就是今天给大家分享的内容,如果今天的内容对你有帮助请记得收藏,顺便点点关注,我会经常给大家分享各类有意思的开源项目和免费干货,咱们下期再见!谢谢大家~
使用 Docker 部署 TaleBook 私人书籍管理系统的更多相关文章
- gitbook安装与使用,并使用docker部署
本文简单介绍如何安装并使用gitbook,最后如何使用docker构建书籍镜像. 1. 前置条件 需要Nodejs环境,安装npm,国内用户再安装cnpm npm install -g cnpm -- ...
- jsp-servlet(2)响应HTML文档-书籍管理系统
基础知识预备: 目标: 构建一个书籍管理系统,实现以下功能. 功能: 1 图书信息查询,(查) 2 书籍管理:添加书籍 3 书籍管理:修改书籍信息 4 书籍管理:删除书籍 一.预备工作 Book{ ...
- 阿里云Linux CentOS 7 Docker部署使用gogs搭建自己的git服务器
一.前言 Git是目前优秀和流行的源代码管理工具.而GitHub是一个面向开源及私有软件项目的托管云平台,但开源免费,私有收费.而公司出于商业化等目的需要搭建自己的源代码托管服务器.通过网上了解Gog ...
- docker安装nextcloud私人网盘,开启https配置证书
docker安装nextcloud私人网盘 之前一直用的百度网盘最近svip超级会员到期了,续费要¥199元,对于一个打工人的我来说有点儿贵.作为技术人的一员,我就来发挥发挥自己的长处,来搭建一个私人 ...
- k8s-生产环境部署django项目k8s-dashboard管理系统
1. k8s-生产环境部署django项目k8s-dashboard管理系统 gitee地址: https://gitee.com/scajy/django-k8s-dashboard.git 部署架 ...
- ASP.NET Core开发-Docker部署运行
ASP.NET Core开发Docker部署,.NET Core支持Docker 部署运行.我们将ASP.NET Core 部署在Docker 上运行. 大家可能都见识过Docker ,今天我们就详细 ...
- Docker部署Hadoop集群
Docker部署Hadoop集群 2016-09-27 杜亦舒 前几天写了文章"Hadoop 集群搭建"之后,一个朋友留言说希望介绍下如何使用Docker部署,这个建议很好,Doc ...
- 程序开发使用docker部署
我们公司自己研发了一套 grand-line 系统,使用 docker 来部署项目. 我是第一批小白鼠,一开始网络差,build 一次要半个小时,连接进入 web shell 也很慢,部署一个微信项目 ...
- 我使用celery以及docker部署遇到的问题
首先我本机测试时没有问题的,但是在线上docker中,任务一直显示 "Sending due task".超时的任务是 django orm update 操作,本地不会出现这样的 ...
- Docker部署SDN环境
2014-12-03 by muzi Docker image = Java class Docker container = Java object 前言 5月份的时候,当我还是一个大学生的时候,有 ...
随机推荐
- KingbaseES Json 系列一:Json构造函数
KingbaseES Json 系列一--Json构造函数(JSON,ROW_TO_JSON,TO_JSON,TO_JSONB) JSON 数据类型是用来存储 JSON(JavaScript Obje ...
- Python 列表list方法clear( )和直接list [ ]的区别
x.clear()是将内存地址清空, x=[ ]会新开辟一个内存空间.
- 机器语言编写helloworld
kvmtool下载编译 git clone https://github.com/kvmtool/kvmtool.git 下载后进入到目录执行make即可. 补码 计算机怎么表示负数?以四位有符号数为 ...
- 无法解析的外部符号 _main
就如提示错误一样,程序找不到入口. 解决方法:
- #原根,BSGS,扩欧,矩阵乘法#CF1106F Lunar New Year and a Recursive Sequence
题目 已知数列 \(f\) 满足 \(f_{1\sim k-1}=1\) 且 \(f_n=m\), 并且知道 \(f_i=(\prod_{j=1}^kf_{i-j}b_j)\bmod{99824435 ...
- OpenHarmony有氧拳击之应用端开发
一.简介 继<OpenHarmony有氧拳击设备端的开发>后,本次为大家带来酷炫的应用端开发.如下,开发者伴随着音乐,律动出拳后,那开发板屡屡播放"挨打"效果,这究竟是 ...
- Java 异常处理与正则表达式详解,实例演练及最佳实践
Java 异常 - Try...Catch 在 Java 代码执行期间,可能会发生各种错误,包括程序员编码错误.用户输入错误以及其他不可预料的状况. 当错误发生时,Java 通常会停止并生成错误消息, ...
- 【FAQ】HarmonyOS SDK 闭源开放能力 —Push Kit(3)
1.问题描述: 调用HarmonyOS API发送通知,能查到状态是送达终端设备,但是终端设备上没收到通知卡片. 解决方案: 通知应用大图标不能超过30kb,通知参数限制,参考如下:https://g ...
- GAN的实现和一些问题
GAN的学习是一个二人博弈问题,最终目标是达到纳什平衡.对抗指的是生成网络和判别网络的互相对抗.生成网络尽可能生成逼真样本,判别网络则尽可能去判别该样本是真实样本,还是生成的假样本.示意图如下: 生成 ...
- js判断元素内文字是否超出元素宽度,溢出隐藏
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...