828华为云征文|部署漫画杂志媒体服务器 Komga

828华为云征文|部署漫画杂志媒体服务器 Komga

  • 一、Flexus云服务器X实例介绍
  • 二、Flexus云服务器X实例配置
    • [2.1 重置密码](#2.1 重置密码)
    • [2.2 服务器连接](#2.2 服务器连接)
    • [2.3 安全组配置](#2.3 安全组配置)
    • [2.4 Docker 环境搭建](#2.4 Docker 环境搭建)
  • [三、Flexus云服务器X实例部署 Komga](#三、Flexus云服务器X实例部署 Komga)
    • [3.1 Komga 介绍](#3.1 Komga 介绍)
    • [3.2 Komga 部署](#3.2 Komga 部署)
    • [3.3 Komga 使用](#3.3 Komga 使用)
  • 四、总结

一、Flexus云服务器X实例介绍

云服务器是一种现代化的计算解决方案,利用云计算技术为用户提供按需、灵活的计算资源。通过互联网,用户可以随时访问这些虚拟服务器,无需投资昂贵的硬件。云服务器适合各种场景,如网站托管、应用开发和数据分析,支持快速部署和弹性扩展,大大提高了业务的灵活性和效率。无论是初创企业还是大型企业,云服务器都是理想的选择,助你轻松应对各种挑战。

华为云下一代云服务器Flexus X实例焕新上线,新产品基于客户业务负载进行动态性能画像,智能推荐资源规格,持续优化性能和成本,按业务算力需求进行精细定价,根据实际使用算力付费,真正用多少花多少,让用户更省钱。

Flexus X实例通过和其他服务组合,具备计算、镜像安装、网络、存储、安全等能力,您可根据业务需要灵活配置各资源。

本次测评使用的规格是:4核12G-100G-3M规格的Flexus X实例基础模式

二、Flexus云服务器X实例配置

2.1 重置密码

购买服务器的时候可以提前设置用户名和密码,因为我这里跳过了,所以购买完成后需要重置密码,会短信或站内消息通过你的云服务器信息,重点是公网IP地址和用户名,首先打开你的服务器控制台,选择重置密码

勾选自动重启,点击确定即可

2.2 服务器连接

华为云服务器提供了多种链接方式,如使用控制台提供的VNC方式登录、使用Linux/Mac OS系统主机登录Linux弹性云服务器(即ssh root@192.168.48.78命令)或者使用Putty、Xshell等工具登录Linux弹性云服务器。

我个人习惯使用 MobaXterm 这款软件,添加SSH连接,输出公网IP、用户名和端口(默认22),连接即可。

2.3 安全组配置

安全组是一个逻辑上的分组,为同一个VPC内的云服务器提供访问策略。用户可以在安全组中定义各种访问规则,当云服务器加入该安全组后,即受到这些访问规则的保护。

系统为每个网卡默认创建一个默认安全组,默认安全组的规则是对出方向上的数据报文全部放行,入方向访问受限。您可以使用默认安全组,也可以根据需要创建自定义的安全组

主要需要填写优先级(默认填1即可)、协议端口(协议一般为TCPUDP,端口一般选择你项目需要暴露的端口即可),描述(选填,一般会填写此端口的用途以免忘记了),其他默认点击确定即可。安全组配置主要是暴露端口可以给外网访问。

如果还不清楚可以参考文档:安全组配置示例

2.4 Docker 环境搭建

本次服务器环境是ubuntu系统镜像,需要自己安装docker环境

服务器类别 系统镜像 内网IP地址 Docker版本 操作系统版本
Flexus云服务器X实例 Ubuntu 192.168.0.168 27.2.0 Ubuntu 22.04.4 LTS

使用apt-get命令安装docker及其配置

bash 复制代码
# 安装必要工具包
$ sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common

# 添加Docker GPG秘钥
$ sudo curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

# 配置仓库源
$ sudo add-apt-repository \
      "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \
      $(lsb_release -cs) \
      stable"	

# 更新apt包索引
$ sudo apt-get update

# 安装docker
$ sudo apt-get install docker-ce docker-ce-cli containerd.io

# 添加docker镜像源
$ sudo vim /etc/docker/daemon.json

{
    "registry-mirrors": [
        "https://ustc-edu-cn.mirror.aliyuncs.com/",
        "https://docker.mirrors.ustc.edu.cn",
        "https://docker.nju.edu.cn",
        "https://ccr.ccs.tencentyun.com/",
        "https://docker.m.daocloud.io/",
        "https://dockerproxy.com",
    ]
}
# 重启
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker

测试docker安装是否成功

bash 复制代码
root@flexusx-c6b3:~# docker -v
Docker version 27.2.0, build 3ab4256```

检查docker服务状态

bash 复制代码
root@flexusx-c6b3:~# systemctl status docker
* docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2024-08-30 15:53:45 CST; 17h ago
TriggeredBy: * docker.socket
       Docs: https://docs.docker.com
   Main PID: 24912 (dockerd)
      Tasks: 13
     Memory: 24.7M
        CPU: 3.778s
     CGroup: /system.slice/docker.service
             `-24912 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

检查docker compose版本

bash 复制代码
root@flexusx-c6b3:~# docker compose version
Docker Compose version v2.29.2

三、Flexus云服务器X实例部署 Komga

3.1 Komga 介绍

Komga 是用于漫画、漫画书、BD、杂志和电子书的媒体服务器。Komga 支持很多媒体文件,包括漫画书档案:CBZ和CBR(RAR5仅支持macOS 应用程序、Windows 应用、Docker amd64)、EPUB格式的电子书、PDF文件。

  • 通过适用于台式机、平板电脑和手机的响应式 Web UI 浏览图书馆、丛书和书籍
  • 使用收藏和阅读列表来组织你的图书馆
  • 编辑系列和书籍的元数据
  • 自动导入嵌入的元数据
  • 具有多种阅读模式的 Webreader
  • 提供 REST API,许多社区工具和脚本可以与 Komga 交互
  • OPDS v1 和 v2 支持
  • Kobo 与您的 Kobo 电子阅读器同步
  • 下载书籍文件、整个系列或阅读列表
  • 将图书馆外部的书籍直接导入到您的系列文件夹中
  • 导入 ComicRackcbl阅读列表

如果你想看的漫画国内在线平台都没有,你找到一个全是图片的漫画压缩包(zip、rar),但解压后用预览、系统相册等应用的幻灯片式观看体验不佳。如果你当前手里有一大堆离线漫画资源(压缩包),但苦于整理过于繁琐,你只能把他们丢在一起,想看的时候随便打开一个。如果你有很多 PDF 的书籍,但你把他们上传到了 iPad 中的图书 App 中,在非苹果生态的设备上无法阅读这些书籍资料。那么 Komga 作为漫画托管利器,它优秀的漫画阅读器、高效管理整理漫画和全平台访问。

3.2 Komga 部署

Komga 可以在任何可以运行 Java 或 Docker 的系统上运行:Windows、MacOS、Linux、许多流行的 NAS 设备,例如 QNAP、Synology 等

  • 创建 docker-compose.yml
yml 复制代码
version: '3.3'
services:
  komga:
    image: gotson/komga
    container_name: komga
    volumes:
      - "./config:/config"
      - "./data:/data"
    ports:
      - 25600:25600
    user: "1000:1000"
    environment:
      - TZ=Asia/Shanghai
    restart: unless-stopped
  • ports:配置访问端口
  • volumes:配置访问卷,映射容器内部文件路径到本地

如果将上述代码片段保存在名为 docker-compose.yml 的文件中,则只需从同一文件夹中运行 docker compose up -d 即可自动拉取 Komga 镜像,并创建并启动一个容器。 up 表示启动服务,-d 表示在后台执行。docker-compose down 命令用于停止和清理由 docker-compose up 启动的服务。

  • 配置安全组

在Flexus云服务器X实例的安全组管理页面,添加入方向规则,接下来我们启动服务需要监听25600端口,所以添加安全组为TCP:25600协议端口。

  • 启动服务

进入项目目录,执行docker compose up -d启动命令,会自动拉取容器并运行

从 Dockerhub 拉取 Komga 镜像,地址:https://hub.docker.com/r/gotson/komga

bash 复制代码
root@flexusx-c6b3:~/komga# docker-compose up -d
Creating network "komga_default" with the default driver
Pulling komga (gotson/komga:latest)...
latest: Pulling from gotson/komga
857cc8cb19c0: Pull complete
6d3e8ace4a03: Pull complete
60c99b720102: Pull complete
0be027877cc2: Pull complete
9e097373cd64: Pull complete
01c46f8b2c3a: Pull complete
4f4fb700ef54: Pull complete
20a90db7c642: Pull complete
Digest: sha256:9d2413e74ddd6158dfb478d8f1997359fcf2b81c89772497b86d58f637165c2c
Status: Downloaded newer image for gotson/komga:latest
Creating komga ... 
Creating komga ... done
  • 检查容器状态

检查 Komga 容器状态,确保容器正常启动

bash 复制代码
root@flexusx-c6b3:~/komga# docker ps
CONTAINER ID   IMAGE                      COMMAND                  CREATED          STATUS                 PORTS                                           NAMES
6f7046904389   gotson/komga               "java --enable-previ..."   15 minutes ago   Up 15 minutes          0.0.0.0:25600->25600/tcp, :::25600->25600/tcp   komga

如果运行报错,需要执行下面命令修改目录权限

bash 复制代码
root@flexusx-c6b3:~/komga# chmod 777 -R data/ config/
  • 访问地址

内网:http://localhost:25600

外网:http://公网IP:25600

  • 访问结果

若出现此页面,则部署 Komga server 成功。

3.3 Komga 使用

首次访问需要创建一个用户帐户才能访问它,选择一个 邮箱 和 密码 然后点击 创建账户,还可以修改语言为简体中文,主题看自己偏好设置

创建用户后,自动完成登录进入主页

添加Library,您可以将内容分为不同的图书馆,图书馆是一组书籍,图书馆的访问权限也可以限制为特定用户,每个库都有一个根文件夹,并且任何库都不能共享其路径的任何部分。

简单理解就是你的漫画书可以根据书籍类型分成不同文件夹来作为漫画库(日本漫画、欧美漫画等),每种类型下可以分别创建不同的文件夹来放置漫画文件,比如鬼灭之刃的漫画放在同一个文件夹下,那么系统扫描识别的时候就会把该文件夹下的元数据都归类到鬼灭之刃系列的漫画书中。

单击侧栏中"库"旁边的"+"图标,为图书馆选择一个名称,单击"浏览"按钮并选择包含您的书籍的根文件夹,点击继续

配置扫描器,还可以指定额外的选项、元数据,点击添加

我们将几个PDF文件复制到 data/books 目录中,并扫描库文件,就能将该目录下的文件加载到 Komga 中,并自动解析元数据,提取封面和书籍信息展示成列表

随便点击一本书,展示书籍的详细信息,书名、文件大小、文件格式、文件来源,还可以无痕阅读和下载

点击阅读,进入阅读器模式

可以查看阅读器的快捷键指南

可以全屏显示,预览页,阅读设置(阅读模式、背景颜色、页面布局等),下载当前页,设置书籍海报

重新回到首页,可以查看最近阅读、最近添加的书籍、最近添加的系列、最近更新的系列分类

全局的搜索功能

导入书籍,允许您导入现有库之外的文件,您只能将文件导入到现有系列中,在这种情况下,Komga 会将文件移动或复制到所选系列的目录中。

导入阅读列表,您可以导入现有的 ComicRack 阅读列表,其为 .cbl格式。Komga 会试着将您提供的系列和书号与你库中的相匹配。

媒体管理

历史记录

服务器设置,可以进行用户管理,添加新用户和分配权限

进行服务器设置,配置缩略图尺寸、任务线程、服务器端口等,还可以设置扫描所有库、清理所有库垃圾、取消任务和关闭服务器,以及性能指标和通知信息

账户设置,可以修改密码、管理API密钥和身份验证活动信息

我们来查看下 Komga 的映射文件路径下的结构

bash 复制代码
root@flexusx-c6b3:~/puter# tree -L 1
.
|-- config
|-- data
`-- docker-compose.yml

2 directories, 1 file
  • config 即为数据库和 Komga 配置
  • data 即为磁盘上数据目录的位置,选择一个包含您的书籍和首选导入位置的文件夹,以使硬链接正常工作

Komga 提供了一个简单而强大的界面,让用户能够轻松地组织和阅读漫画,并且支持多种格式,包括 CBZ、CBR、PDF 等,并且可以与 Tachiyomi、Calibre 等流行应用无缝集成。本次使用体验用户界面直观,使得添加、管理和阅读漫画变得非常便捷,它还支持元数据编辑和封面艺术展示,为漫画爱好者提供了一个全面的解决方案,是管理数字漫画库的理想选择,更多有趣的设置和功能就需要自行探索了。

四、总结

Komga是一款开源的漫画和电子书服务器,为漫画爱好者提供了一个便捷的数字图书馆管理平台。用户可以通过简单的Web界面轻松上传、组织和浏览自己的漫画收藏。Komga支持多种文件格式,并提供强大的搜索和分类功能,使得查找和阅读漫画变得异常流畅。此次使用的Flexus X实例配置还是很高的4核12G-100G-3M规格基础模式,文件扫描、元数据读取、上传、下载和IO读取等主要操作下,体验很好,响应都很及时,内存占用不高,性能过剩。

如果你热衷于倒腾有趣的开源项目,华为云服务器是你的理想选择!它提供灵活的计算资源和高效的网络性能,让你轻松搭建和实验各种项目,确保你的项目稳定运行。现在华为云服务器正进行828 B2B企业节,可享受限时优惠,让你以更低成本探索无限可能!立即行动

相关推荐
Karoku0665 分钟前
【企业级分布式系统】ELK优化
运维·服务器·数据库·elk·elasticsearch
友友马18 分钟前
『 Linux 』网络层 - IP协议(一)
linux·网络·tcp/ip
条纹布鲁斯41 分钟前
dockerdsktop修改安装路径/k8s部署wordpress和ubuntu
docker·kubernetes
猿java1 小时前
Linux Shell和Shell脚本详解!
java·linux·shell
安迁岚1 小时前
【SQL Server】华中农业大学空间数据库实验报告 实验三 数据操作
运维·服务器·数据库·sql·mysql
vmlogin虚拟多登浏览器2 小时前
虚拟浏览器可以应对哪些浏览器安全威胁?
服务器·网络·安全·跨境电商·防关联
A.A呐2 小时前
【Linux第一章】Linux介绍与指令
linux
Gui林2 小时前
【GL004】Linux
linux
ö Constancy2 小时前
Linux 使用gdb调试core文件
linux·c语言·vim
tang_vincent2 小时前
linux下的spi开发与框架源码分析
linux