Huawei Cloud Yaoyun Server L instance evaluation | Deployment of personal online e-book library caliber
1. Introduction to Yunyao Cloud Server L Instance
1.1 Introduction to cloud server
Cloud server is a simple, efficient, safe and reliable computing service with elastically scalable processing capabilities. Its management method is simpler and more efficient than physical servers. Users can quickly create or release as many cloud servers as they want without purchasing hardware in advance. Cloud servers help you quickly build more stable and secure applications, reduce the difficulty of development and operation and maintenance and overall IT costs, allowing users to focus more on core business innovation.
Huawei Cloud has newly launched a new product of Huawei Cloud server instances. Huawei Cloud servers have the four advantages of being intelligent and non-stuck, affordable and easy to use, easier to get started, and worry-free management, thus helping you quickly get to the cloud!
From the end of August to mid-October, if you participate in the Huawei Cloud Server evaluation event, you can get a coupon of 54.99 yuan, and you can use the Huawei Cloud Yaoyun Server L instance for free 2核|2G|3Mbps
for one month, providing a large number of system images and application images. , convenient for development and deployment.
There is also a limited-time flash sale area , 华为云云耀云服务器L实例
with daily limited sales, and the discount is limited to 1 order, while stocks last!
1.2 Application scenarios
Yunyao Cloud Server L instances are suitable for supporting lightweight, low-load and moderately visited application scenarios such as small websites, web applications, blogs, forums, and cloud development environments.
电商店铺管理
: Quickly build an independent foreign trade station and store management environment to provide stable and high-quality services to customers at home and abroad.企业建站
: Provides commonly used website building application templates to quickly build websites that meet business needs, such as corporate official websites, information, blogs, forums, e-commerce, etc.小程序后台
: Suitable for building WeChat applets and public account backend services to reduce maintenance costs and allow users to focus on business development.小游戏
: Help customers build PC stand-alone games, casual games, etc., quickly go online and have stable performance.开发测试
: Suitable for building ready-to-use remote development and testing projects in the cloud, running scheduled tasks, automatic tasks, etc.云端学习
: Help students and developers do some experiments, papers, etc. in the cloud.搭建博客/论坛
: It is convenient for individual developers to set up blogs and forums, and it is cost-effective.
1.3 Support mirroring
mirror | Introduction |
---|---|
system image | Only the initial is included 操作系统 , not any 应用数据 sum 环境配置 . After using a system image to create a cloud server, the server will have a pure operating system environment. You can install applications by yourself based on the business needs of the instance. |
Application image | Contains applications and related 初始化数据、应用所需的运行环境及操作系统 . After you create a cloud server using an application image, you can directly use the preset application or customize the application configuration according to actual business needs. Reduces the steps of application uploading and installation. |
- System image information provided by Yunyao Cloud Server L instance
Image name | illustrate |
---|---|
Huawei Cloud EulerOS | Huawei Cloud EulerOS (HCE OS for short) is a Linux operating system built on Huawei's open source community openEuler. It provides a cloud-native, high-performance, secure and stable execution environment to develop and run applications, helping enterprise customers quickly migrate to the cloud and developers innovate. . |
CentOS | CentOS is a popular open source Linux distribution that is recompiled from the RHEL (Red Hat Enterprise Linux) source code. |
Ubuntu | Ubuntu is one of the most popular Linux distributions. It is an open source free software based on the Debian Linux operating system. Its ease of use and stability are excellent, and it has very powerful and mature community resources. |
Windows Server | Windows Server is a series of operating systems created by Microsoft specifically for servers. |
- Application image information provided by Yunyao Cloud Server L instance
Image name | illustrate |
---|---|
Enterprise website building systemWordpress |
Wordpress was originally a blog system, and then gradually evolved into a free CMS (content management system/website building system). It is now a global website building platform. This system is famous for its ease of use, easy scalability (plug-ins, templates, secondary development), powerful functions, beautiful appearance, search engine friendliness, etc. |
LinuxVisualization宝塔面板 |
Pagoda Panel is a popular PHP integrated environment management and server operation and maintenance management tool. Supports web-side management, one-click creation of websites, FTP, databases, and SSL; security management, scheduled tasks, file management, and PHP multi-version coexistence and switching. |
Enterprise integrated ERP systemOdoo |
Odoo is an open source ERP/CRM software for global users. It is developed using Python+PostgreSQL and has more than 730 partners and 2 million users. It has a powerful and flexible system architecture, and its product iteration speed is also very fast. The difference between its versions lies in the updates of the user interface and functional modules. Users can modify, upgrade, and add new functions in a modular manner without modifying the core code. Commonly used modules include: procurement management, sales management, inventory management, financial management, goods management, marketing management, customer relationship management, production management, and personnel. Management, service support, e-commerce, website building, etc. Suitable for manufacturing, retail chains, services, e-commerce, foreign trade and other industries. |
e-commerce systemPrestaShop |
PrestaShop is a full-featured, cross-platform, free and open source e-commerce solution developed using PHP+MySQL. More than 40,000 online stores around the world have adopted Prestashop for deployment. Prestashop is based on Smarty engine programming design. It has a modular design and strong scalability. It can easily implement browsing transactions in multiple languages and currencies, and supports Paypal and other payment methods. It is a good choice for building foreign trade websites. |
Data exploration and visualization platformSuperset |
Apache Superset is an open source data analysis and visualization platform (formerly known as Panoramix and Caravel). This tool is very distinctive in terms of visualization, ease of use and interactivity. Users can easily perform visual analysis of data. Superset is also an enterprise-grade business intelligence web application. |
Docker visual running environmentPortainer |
Portainer is a graphical management tool for Docker, written in GO language. It provides status display, rapid deployment of application templates, basic operations for Docker (containers, mirrors, networks, database logical volumes), log display, container console and other functions. |
Enterprise cloud disk systemNextcloud |
Nextcloud is an open source cloud storage software for building your own private network disk. It is developed using PHP+MySQL. It provides multiple synchronization clients to support access from multiple devices. Users can easily synchronize with the data stored on the server. and share data. Other sync sources are also supported: Dropbox, FTP, OpenStack Object Storage, SMB, WebDAV, SFTP. |
One-stop DevOps platformGitLab |
GitLab was originally an open source source code warehouse management project designed to help teams collaborate on software development. By delivering new features at industry-leading speed, GitLab now offers a complete DevOps approach to the software development and operations lifecycle. GitLab features include: everything you need to project manage, plan, create, validate, package, publish, configure, monitor, and secure your application. |
Network statistical analysis platformMatomo |
Matomo is a powerful open source web analytics platform that takes full data ownership and ensures business compliance with GDPR and CCPA. Especially for business software, Matomo's enhanced search engine optimization and conversion optimization capabilities will greatly enhance your capabilities in the field of digital marketing. |
Live video serverSRS |
SRS is a simple and efficient real-time video server that supports multiple real-time streaming protocols such as RTMP, WebRTC, HLS, HTTP-FLV, and SRT. Based on coroutine technology, there is no problem that asynchronous callbacks are difficult to maintain. Supports cloud native standards (Docker images, K8s deployment, observability logs and monitoring indicators, etc.) and provides cloud SRS threshold-free applications. SRS focuses on real-time streaming media gateways to achieve access, mutual conversion and continuous iteration of real-time streaming media protocols, such as RTMP, HLS, WebRTC, HTTP-FLV and SRT, etc. |
2. Yunyao Cloud Server L instance configuration
2.1 Reset password
After the purchase is completed, a text message will be sent through your cloud server information, focusing on the public IP address and user name. First we need to open your server console, complete the password
reset, check Automatically restart, and click OK.
2.2 Server connection
-
Method 1 : Log in using the VNC method provided by the console
-
Method 2 : Use Putty, Xshell and other tools to log in to the Linux elastic cloud server.
a) Download and install the login tool, such as Putty.
b) Enter the elastic public IP.
c) Enter the username: root, password, and click "OK". -
Method three : Use the Linux/Mac OS system host to log in to the Linux elastic cloud server.
a) Execute the connection command.
ssh elastic public IP
, for example: ssh 123.xxx.xxx.456
b) Enter the user name: root, password, and log in to the server.
I personally use MobaXterm
this software, add SSH connection, output 公网IP
, user name and port (default 22), and connect.
2.3 Security group configuration
A security group is a logical grouping that provides access policies for cloud servers in the same VPC. Users can define various access rules in the security group. When the cloud server joins the security group, it will be protected by these access rules.
The system creates a default security group for each network card by default. The rules of the default security group are to allow all data packets in the outbound direction and restrict access in the inbound direction. You can use the default security group or create a custom security group if needed.
You mainly need to fill in the priority (fill in 1 by default) and protocol port information (generally select the port that your project needs to expose), and click OK for other defaults. Security group configuration is mainly to expose ports to the external network for access.
If you are still unclear, you can refer to the document: Security Group Configuration Example
3. Deploy caliber
3.1 caliber introduction
Caliber-Web is a web application that provides a simple and intuitive interface to browse, read and download e-books using a valid Caliber database.
main feature
- Modern, responsive Bootstrap 3 HTML5 interface
- Fully graphical setup
- Comprehensive user management, allowing fine-grained management based on user permissions
- Management interface
- Multilingual user interface, supporting more than 20 languages
- OPDS source for e-book reader applications
- Advanced search and filtering options
- Create a custom book collection (bookshelf)
- Support e-book metadata editing and deletion
- Download metadata from various sources (extendable via plugins)
- Convert e-books via Caliber binary files
- Restrict logged-in users from downloading e-books
- Support public user registration
- Send e-books to e-readers with one click
- Sync your Kobo device with your Caliber library
- In-browser e-book reading supports multiple formats
- Upload new books in various formats, including audio formats
- Support Caliber custom columns
- Hide content per user based on category and custom column content
- self-update function
- "Magic Link" login for easy access on e-readers
- Supports LDAP, Google/GitHub OAuth and proxy authentication
Caliber can create a personal library, which not only records the books you have read, but also archives the e-book files of the corresponding books, which can be downloaded at any time. You can create book lists, rate, classify, tag books, search for keywords, view book introductions, etc. You can also read online without loading the client, which is very convenient. In addition, there are no ads and it is free. There is no inability to watch after the membership period, no inability to read without the external network, no data reporting, and no content deletion.
- Official website: https://calibre-ebook.com/
- Github:https://github.com/janeczku/calibre-web
3.2 Docker environment setup
This server environment is an ubuntu system image, and you need to install the docker environment yourself.
Server category | system image | Intranet IP address | Docker version | Operating system version |
---|---|---|---|---|
Yunyao cloud server L instance | Ubuntu | 192.168.0.168 | 20.10.24 | Ubuntu 22.04.1 LTS |
Install docker using snap
command
root@hcss-ecs-f632:~# snap install docker
docker 20.10.24 from Canonical✓ installed
Test docker
whether the installation is successful
root@hcss-ecs-f632:~# docker -v
Docker version 20.10.24, build 297e128
Check docker
service status
root@hcss-ecs-f632:~# systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2023-09-14 14:25:21 CST; 2 days ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 30672 (dockerd)
Tasks: 73
Memory: 137.0M
CPU: 2min 37.906s
CGroup: /system.slice/docker.service
Check docker compose
version
root@hcss-ecs-f632:~# docker compose version
Docker Compose version v2.17.2
3.3 caliber deployment
- Download image
Pull the caliber image from docker hub, address: https://hub.docker.com/r/linuxserver/calibre-web
root@hcss-ecs-f632:~# docker pull linuxserver/calibre-web
Using default tag: latest
latest: Pulling from linuxserver/calibre-web
ec7797702745: Already exists
07a0e16f7be1: Already exists
af6616957726: Already exists
f98603590030: Already exists
f3ce711537bb: Already exists
0631cc002f75: Already exists
e84f7b29d280: Pull complete
35bfe7b730a2: Pull complete
Digest: sha256:b7ca05d53c1f30026dcc1de7baee4c1716e0c082aaf05e19e06ee6c18c0e5636
Status: Downloaded newer image for linuxserver/calibre-web:latest
docker.io/linuxserver/calibre-web:latest
- Configure security group
On the security group management page of Huawei Cloud Yaoyun Server L instance, add inbound rules. Next, when we start the service, we need to listen to port 8083, so we add the security group as the TCP:8083
protocol port.
- Start service
Start using docker-compose
the method, first create the filedocker-compose.yml
version: "2.1"
services:
calibre-web:
image: linuxserver/calibre-web:latest
container_name: calibre-web
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
- DOCKER_MODS=linuxserver/mods:universal-calibre #optional
- OAUTHLIB_RELAX_TOKEN_SCOPE=1 #optional
volumes:
- ./config:/config
- ./books:/books
ports:
- 8083:8083
restart: unless-stopped
- Volumes: Maps the file path inside the container to the local
- ports: Configure access ports
If you save the above code snippet in a file called docker-compose.yml, you can simply run from the same folder to docker compose up -d
automatically pull the caliber image and create and start a container. up
Indicates starting the service and -d
executing it in the background. docker-compose down
Commands are used to stop and clean up docker-compose up
services started by .
root@hcss-ecs-f632:~/calibre# docker-compose up -d
Creating network "calibre_default" with the default driver
Creating calibre-web ... done
- Check container status
Check the caliber container status to ensure that the container starts normally
root@hcss-ecs-f632:~/calibre# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b4fd1fb7f56d lscr.io/linuxserver/calibre-web:latest "/init" 36 minutes ago Up 36 minutes 0.0.0.0:8083->8083/tcp, :::8083->8083 /tcp calibre-web
- address
Intranet: http://localhost:8083
External network: http://Public IP:8083
- Access results
If this page appears, the deployment of caliber server is successful.
3.4 use of caliber
Default username: admin
, Default password: admin123
, enter username and password to complete login, please change the password later.
Database settings: After logging in, you will enter the database configuration page, fill in the form /books
, click save, see the prompt Database Settings updated
, and then you can connect 上传
to 编辑
the bookshelf
Here you need to install the caliber client, create a new bookshelf, then obtain
metadata.db
the files automatically created by the software in the caliber installation directory, put them in the foldermetadata.db
created by docker , and set the read and write permissionsbooks
chmod 777 -R books
For easier viewing, click on the upper right corner admin
and change the language to Simplified Chinese
Enable upload configuration: 管理权限 - 配置 - 编辑基本配置 - 功能配置 - 启用上传
, check it, and click Save
Allowed upload formats: fb2, kepub, odt, pdf, cbr, djvu, azw, html, ogg, doc, mobi, txt, cbt, wav, epub, cbz, flac, azw3, mp4, m4a, m4b, docx, rtf ,mp3,prc,opus,lit
Wait for the prompt Calibre-Web 配置已更新
, refresh the web page, and you will see 上传书籍
the button
Recommend a website for downloading e-books
zlibrary
(currently available): https://zlibrary-east.se/
Now upload a local e-book file in PDF format, and the cover information will be automatically obtained, which seems to be the first page of the book. The author information of the book title seems to be automatically recognized based on the file name. You can also modify or add certain information yourself. , click Save, and you will see a prompt 已成功更新元数据
indicating that the upload was successful.
After the upload is successful, a list of books will be displayed on the home page.
Click on the book to view basic information, download, read online, archive and mark as read, and re-edit the book information.
Use the online reading feature to view the book
caliber also supports advanced search functions to facilitate finding the books you want, which requires supplementing detailed book information. caliber uses sqlite
a database and has good compatibility. The size of a book is usually around 20M
1G. Generally, 1G storage is enough to store dozens or hundreds of books and novels, which is convenient for offline viewing and book backup.
Here 书籍列表
, you can more easily view all uploaded books and their information
books
Let’s check the contents of caliber’s mapping file path
root@hcss-ecs-f632:~/calibre/books# ls
'Doug Sillars' metadata.db 任玉刚
- metadata.db: stores book information
- Other folders: storage of book files and cover image files
The basic functions of caliber e-book library are as mentioned above. The main purpose is to facilitate viewing books and organizing book information. Since it is for my personal use, I have no functions. 开放注册
This project supports configuration. More functions and configurations about caliber need to be done by yourself. Explored.
4. Diagnostic function of Yunyao Cloud Server L instance
云耀云服务器L实例
Recently, a function has been launched 一键诊断
. The self-service tool can help you detect the performance, cost, network, disk and other status of elastic cloud servers, find problems in a timely manner and provide professional repair suggestions and solutions for abnormal indicators, giving you a better cloud experience. .
I just encountered a problem today. calibre
During deployment, the container has been started and docker ps
the status is in good condition. However, when accessing 无法访问此网站
, the access port has been added 安全组
. I thought it was a conflict with the added port, so I changed it to another port and restarted the container, but it still didn't work. So there was another guess that the added security group did not take effect, so I restarted the server, but the problem still existed. Moreover, the projects accessing other ports are normal, but the newly added projects cannot be accessed, which is puzzling.
So I tried 一键诊断
the function and found the problem: 带宽超限
, the bandwidth usage has exceeded 90%, and gave repair suggestions: after the bandwidth exceeds the limit, it may cause 随机丢包
. To ensure the normal operation of the business, it is recommended that you upgrade the bandwidth.
At this time, I realized that there were too many running projects taking up bandwidth. My 华为云云耀云服务器L实例
server was currently running 6 projects, so I immediately turned off one project service, and the caliber project could be accessed normally.
5. Summary
Yunyao Cloud Server L instance is a new generation of out-of-the-box lightweight application cloud server built for small and medium-sized enterprises and developers. Yunyao Cloud Server L instance provides a rich and carefully selected application image, enabling one-click deployment of applications, helping customers to build e-commerce websites, web applications, applets, learning environments, various development tests, etc. in the cloud conveniently and efficiently.
Moreover, the threshold for using Yunyao Cloud Server L instances is low. If you are an entry-level user who is learning about cloud computing services, or an individual developer or small and medium-sized enterprise who needs to deploy simple applications in the server, such as deploying some lightweight and interesting project, then it is recommended that you choose 云耀云服务器L实例
.