阿里云服务器真香宝典之Calibre-Web个人图书馆云端部署

简介: 在阿里云ECS(2核2G,SSD40G,3M带宽)上,安装Ubuntu 22.04,然后配置Docker和FTP。创建 `/config` 和 `/books` 目录,设置权限,开放端口,拉取 `johngong/calibre-web` Docker镜像,以`calibre-web`命名容器,映射端口,配置环境变量,挂载卷,确保重启策略。本地安装Calibre客户端,上传metadata.db到服务器。在Calibre-web服务端配置数据库,启用上传权限,修改管理员账户信息。完成配置后,开始上传电子书并进行阅读。

一、准备工作

1.准备一台云服务器

我选择的是阿里云ECS,配置:2核2G,SSD40G,3M固定带宽(今年销冠)。
aliyun_99.png

服务器的操作系统选用ubuntu 22.04。
ubuntu_env.png

2.安装Docker

Docker的安装教程,有兴趣的小伙伴们可以留言,立马安排。

3.安装FTP服务

FTP的安装教程,有兴趣的小伙伴们可以留言,立马安排。

4.创建/config及/books文件夹

Calibre-Web服务在docker环境下自有一套文件目录,其中的/config以及/books这两个文件夹需要和我们在根目录下/opt里创建的目录做映射,这里是我们图书馆数据库存放的实体文件夹所在。

$ mkdir -p /opt/calibre-web/config
$ mkdir -p /opt/calibre-web/books

修改文件操作属性,不然,我们在后面往里面写数据库文件,会因为权限被拒绝(避坑点!!!)。

chmod 777 /opt/calibre-web/*

dir_chmod_777.png

5.控制台修改端口规则

我们通过浏览器访问Calibre-Web需要通过8083端口,这个端口需要小伙伴手动添加到控制台的安全组里。

port_enable.png

二、安装Calibre-web

1.拉取镜像

搜索Calibre-Web镜像。

$ sudo docker search calibre-web

calibre.png

拉取Calibre-Web镜像。

$ sudo docker pull johngong/calibre-web

2.创建Calibre-Web服务

配置并运行docker。

# docker run -d \
> --name=calibre-web \
> -p 8083:8083 \
> -e PUID=1000 \
> -e PGID=1000 \
> -e TZ=Asia/Shanghai \
> -e DOCKER_MODS=linuxserver/mods:universal-calibre \
> -e OAUTHLIB_RELAX_TOKEN_SCOPE=1 \
> -v /opt/calibre-web/config:/config \
> -v /opt/calibre-web/books:/books \
> --restart=always \
> johngong/calibre-web

run_calibre.png

1.docker run -d,后台运营docker容器;
2.--name=calibre-web,容器名称calibre-web;
3.-p 8083:8083,端口映射,服务器对外端口:容器calibre-web服务端口;
4.-e PUID=1000,环境变量PUID配置,给容器用户分配ID;
5.-e PGID=1000,环境变量PGID配置,给容器用户组分配ID;
6.-e TZ=Asia/Shanghai,环境变量时区配置,需要查询时区的小伙伴;
7.-e DOCKER_MODS,电子书转换模式(可选,有需要的可以添加这个参数);
8.-e OAUTHLIB_RELAX_TOKEN_SCOPE,允许google OAUTH工作,可以调用google API接口,可选项(小伙伴们懂的都懂了);
9.-v /opt/calibre-web/config:/config,卷映射,服务器文件夹/config:容器文件夹/config;
10.-v /opt/calibre-web/books:/books,同上;
11.--restart=always,docker重启时,容器自动重启;
12.johngong/calibre-web,容器运行的镜像;

查看容器运行状态。

# docker ps

ps_calibre.png

三、本地安装Calibre客户端

1.安装Calibre客户端

Calibre客户端windows下载地址,找到metadata.db数据库文件。
db_local.png

2.上传数据库文件

通过Filezilla将metadata.db文件上传到服务器,并修改文件属性。

sudo chmod 777 metadata.db

db_chmod777.png

四、配置Calibre-web

1.浏览器登录Calibre-Web服务端

输入服务器ip地址:8083,登录名admin,密码admin123。
web_login.png

2.服务端配置

2.1配置数据库

路径:管理权限->编制calibre数据库配置。
db_location0.png

选择/books文件夹,添加metadata.db。
db_location.png

保存并看到“数据库更新已成功”。
db_location_01.png

2.2 添加上传文件权限

路径:管理权限->编辑基本配置。
config_upload00.png

添加上传文件权限并保存,看到“配置已更新”,即配置成功。
config_upload01.png

2.3 用户名及密码修改

通过右上角用户名进入编辑模式,修改用户名及密码。
user_config.png

五、开启阅读之旅

通过本地上传电子书到服务器端。
book_upload0.png
上传完成后,对相应数据元做修改,也可以通过搜索从第三方下载相应数据元。
book_upload.png
体验web端浏览电子书。
book_upload02.png

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3天前
|
缓存 Kubernetes Java
阿里云 SAE Web:百毫秒高弹性的实时事件中心的架构和挑战
SAE 事件中心通过智能诊断显示通知与用户连接起来,SAE WEB 百毫秒弹性实例给事件中心带来了新的实时性、海量数据和高吞吐的挑战,本篇将带您了解 SAE 整体事件中心的架构和挑战。
|
1月前
|
前端开发 JavaScript
构建你的第一个Web应用:从零到部署
【8月更文挑战第33天】 在这篇文章中,我们将一起踏上构建一个基本Web应用的旅程。不同于传统的“安装这个、运行那个”教程,我们的目标是通过理解每一步的意义和目的来深化你的技术理解。我们将探索HTML、CSS、JavaScript的基础,并学习如何将它们结合起来创建一个简单的个人网站。接着,我们会介绍如何使用GitHub Pages进行免费部署,让你的应用上线。准备好了吗?让我们开始吧!
|
28天前
|
负载均衡 网络协议 应用服务中间件
web群集--rocky9.2源码部署nginx1.24的详细过程
Nginx 是一款由 Igor Sysoev 开发的开源高性能 HTTP 服务器和反向代理服务器,自 2004 年发布以来,以其高效、稳定和灵活的特点迅速成为许多网站和应用的首选。本文详细介绍了 Nginx 的核心概念、工作原理及常见使用场景,涵盖高并发处理、反向代理、负载均衡、低内存占用等特点,并提供了安装配置教程,适合开发者参考学习。
|
2月前
|
API C# 开发框架
WPF与Web服务集成大揭秘:手把手教你调用RESTful API,客户端与服务器端优劣对比全解析!
【8月更文挑战第31天】在现代软件开发中,WPF 和 Web 服务各具特色。WPF 以其出色的界面展示能力受到欢迎,而 Web 服务则凭借跨平台和易维护性在互联网应用中占有一席之地。本文探讨了 WPF 如何通过 HttpClient 类调用 RESTful API,并展示了基于 ASP.NET Core 的 Web 服务如何实现同样的功能。通过对比分析,揭示了两者各自的优缺点:WPF 客户端直接处理数据,减轻服务器负担,但需处理网络异常;Web 服务则能利用服务器端功能如缓存和权限验证,但可能增加服务器负载。希望本文能帮助开发者根据具体需求选择合适的技术方案。
67 0
|
2月前
|
Rust 安全 开发者
惊爆!Xamarin 携手机器学习,开启智能应用新纪元,个性化体验与跨平台优势完美融合大揭秘!
【8月更文挑战第31天】随着互联网的发展,Web应用对性能和安全性要求不断提高。Rust凭借卓越的性能、内存安全及丰富生态,成为构建高性能Web服务器的理想选择。本文通过一个简单示例,展示如何使用Rust和Actix-web框架搭建基本Web服务器,从创建项目到运行服务器全程指导,帮助读者领略Rust在Web后端开发中的强大能力。通过实践,读者可以体验到Rust在性能和安全性方面的优势,以及其在Web开发领域的巨大潜力。
34 0
|
2月前
|
Java UED 自然语言处理
Struts 2 国际化竟有如此神奇魔力?快来揭开多语言支持的 Web 应用神秘面纱
【8月更文挑战第31天】在全球化背景下,Web应用需适应多种语言环境。Struts 2凭借其强大的国际化(i18n)支持,简化了多语言应用开发。通过不同语言的资源文件,它能自动匹配用户语言偏好,优化用户体验并扩展用户群。下面是一个示例:创建`messages.properties`(英语)与`messages_zh_CN.properties`(中文),并在Struts 2的Action类及JSP页面中调用`getText()`方法及Struts标签展示相应语言内容。此外,在struts.xml中指定资源文件,以确保框架正确加载对应语言包。通过这些步骤,开发者可以轻松实现应用的多语言支持。
51 0
|
23天前
|
Cloud Native Java 编译器
将基于x86架构平台的应用迁移到阿里云倚天实例云服务器参考
随着云计算技术的不断发展,云服务商们不断推出高性能、高可用的云服务器实例,以满足企业日益增长的计算需求。阿里云推出的倚天实例,凭借其基于ARM架构的倚天710处理器,提供了卓越的计算能力和能效比,特别适用于云原生、高性能计算等场景。然而,有的用户需要将传统基于x86平台的应用迁移到倚天实例上,本文将介绍如何将基于x86架构平台的应用迁移到阿里云倚天实例的服务器上,帮助开发者和企业用户顺利完成迁移工作,享受更高效、更经济的云服务。
将基于x86架构平台的应用迁移到阿里云倚天实例云服务器参考
|
21天前
|
编解码 前端开发 安全
通过阿里云的活动购买云服务器时如何选择实例、带宽、云盘
在我们选购阿里云服务器的过程中,不管是新用户还是老用户通常都是通过阿里云的活动去买了,一是价格更加实惠,二是活动中的云服务器配置比较丰富,足可以满足大部分用户的需求,但是面对琳琅满目的云服务器实例、带宽和云盘选项,如何选择更适合自己,成为许多用户比较关注的问题。本文将介绍如何在阿里云的活动中选择合适的云服务器实例、带宽和云盘,以供参考和选择。
通过阿里云的活动购买云服务器时如何选择实例、带宽、云盘
|
19天前
|
弹性计算 运维 安全
阿里云轻量应用服务器和经济型e实例区别及选择参考
目前在阿里云的活动中,轻量应用服务器2核2G3M带宽价格为82元1年,2核2G3M带宽的经济型e实例云服务器价格99元1年,对于云服务器配置和性能要求不是很高的阿里云用户来说,这两款服务器配置和价格都差不多,阿里云轻量应用服务器和ECS云服务器让用户二选一,很多用户不清楚如何选择,本文来说说轻量应用服务器和经济型e实例的区别及选择参考。
阿里云轻量应用服务器和经济型e实例区别及选择参考
|
20天前
|
机器学习/深度学习 存储 人工智能
阿里云GPU云服务器实例规格gn6v、gn7i、gn6i实例性能及区别和选择参考
阿里云的GPU云服务器产品线在深度学习、科学计算、图形渲染等多个领域展现出强大的计算能力和广泛的应用价值。本文将详细介绍阿里云GPU云服务器中的gn6v、gn7i、gn6i三个实例规格族的性能特点、区别及选择参考,帮助用户根据自身需求选择合适的GPU云服务器实例。
阿里云GPU云服务器实例规格gn6v、gn7i、gn6i实例性能及区别和选择参考

相关产品

  • 云服务器 ECS
  • 下一篇
    无影云桌面