【Docker项目实战】使用Docker部署Koodo Reader电子书阅读器

举报
江湖有缘 发表于 2025/08/26 17:25:41 2025/08/26
【摘要】 【Docker项目实战】使用Docker部署Koodo Reader电子书阅读器

@[TOC](【Docker项目实战】使用Docker部署Koodo Reader电子书阅读器)

一、Koodo Reader介绍

1.1 Koodo Reader简介

Koodo Reader 是一款现代开源电子书管理与阅读软件,支持跨平台同步与备份,兼容多种主流电子书格式,提供AI翻译、摘要、文本转语音等智能功能,适用于 Windows、macOS、Linux、Android、iOS 及 Web 端,帮助用户在任何设备上流畅阅读和管理个人图书库。

1.2 Koodo Reader主要特点

  • 多格式支持:完整支持 EPUB、PDF、MOBI、AZW3、FB2、CBR/CBZ 等主流电子书格式。
  • 跨平台兼容:可在 Windows、macOS、Linux、Android、iOS 以及网页端无缝使用。
  • 云同步与备份:通过 OneDrive、Google Drive、MEGA、WebDAV 等云服务实现数据自动同步与备份。
  • 便捷图书导入:直接从云盘或远程服务器批量导入电子书,无需本地中转。
  • AI 智能翻译:集成 AI 翻译功能,实现整段或划词即时翻译,提升外文阅读体验。
  • AI 词典查询:支持 AI 驱动的智能词典,提供精准释义与例句。
  • AI 内容摘要:自动提取章节或全文核心内容,快速掌握书籍要点。
  • 多种阅读布局:提供单栏、双栏与连续滚动三种阅读模式,适应不同书籍类型。
  • 文本转语音:内置 TTS 功能,可将文字朗读出来,支持离线与在线发音引擎。
  • 触屏友好设计:优化触控操作,支持手势翻页与触摸高亮,适合平板与触屏设备。
  • 批量子目录导入:可一次性导入整个文件夹中的书籍,自动分类整理。
  • 笔记与标注:支持添加书签、高亮、下划线及文本笔记,便于知识管理。
  • 个性化排版设置:自由调整字体、字号、行距、段距、页边距与背景/文字颜色。
  • 夜间模式与主题色:提供夜间阅读模式及多种主题颜色切换,保护视力。
  • 富文本标注样式:支持对文本进行加粗、斜体、阴影等样式高亮标记。
  • 开源免费:完全开源且永久免费,无广告、无追踪,保障用户隐私与自由。

二、本次实践规划

2.1 本地环境规划

本次实践为个人测试环境,操作系统版本为 Ubuntu 24.04.2 LTS。

hostname IP地址 操作系统版本 Docker版本 部署项目
jeven01 192.168.3.88 Ubuntu 24.04.2 LTS 28.3.3 Koodo Reader

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下部署Koodo Reader电子书阅读器。

三、本地环境检查

3.1 检查Docker服务状态

检查Docker服务是否正常运行,确保Docker正常运行。

root@jeven:~# systemctl status docker
● docker.service - Docker Application Container Engine
     Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; preset: enabled)
     Active: active (running) since Mon 2025-08-04 10:10:52 UTC; 30min ago
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
   Main PID: 860 (dockerd)
      Tasks: 10
     Memory: 97.2M (peak: 98.4M)
        CPU: 606ms
     CGroup: /system.slice/docker.service

3.2 检查Docker版本

检查Docker版本

root@jeven:~# docker -v
Docker version 28.3.3, build 980b856

3.3 检查docker compose 版本

检查Docker compose版本,确保2.0以上版本。

root@jeven:~# docker -v
Docker version 28.3.3, build 980b856

四、拉取Koodo Reader镜像

下载Koodo Reader容器镜像,如下所示

 docker pull  ghcr.io/koodo-reader/koodo-reader:master

在这里插入图片描述

五、部署Koodo Reader服务

5.1 创建部署目录

  • 创建部署目录
mkdir -p /data/koodo/uploads   &&  cd /data/koodo/
  • 目录授权
chmod -R 755 /data/koodo/

5.2 编辑部署文件

使用docker-cli方式部署,可参考以下命令:

docker run -d \
  --name koodo-reader \
  -p 8022:80 \
  -p 8023:8080 \
  -e ENABLE_HTTP_SERVER=false \
  -e SERVER_USERNAME=admin \
  -e SERVER_PASSWORD=admin123 \
  -v /data/koodo/uploads:/app/uploads \
  ghcr.io/koodo-reader/koodo-reader:master

在部署目录下,创建docker-compose.yaml文件,内容如下所示:

vim docker-compose.yaml
version: '3.9'
services:
    koodo-reader:
        image: 'ghcr.io/koodo-reader/koodo-reader:master'
        volumes:
            - '/data/koodo/uploads:/app/uploads'
        environment:
            - SERVER_PASSWORD=admin123
            - SERVER_USERNAME=admin
            - ENABLE_HTTP_SERVER=false
        ports:
            - '8023:8080'
            - '8022:80'
        container_name: koodo-reader




📦 Koodo Reader Docker 配置说明

🔧 环境变量(Environment Variables)

环境变量 默认值 说明
SERVER_USERNAME admin Web 服务登录的用户名,用于访问 Koodo Reader 的 Web 界面或数据源服务。建议修改为自定义安全用户名。
SERVER_PASSWORD admin123 Web 服务登录的密码,配合 SERVER_USERNAME 使用。建议设置为强密码以增强安全性。
ENABLE_HTTP_SERVER false 是否启用 HTTP 服务器(用于“数据源”功能)。设为 true 才能通过 Docker 同步书籍和数据。

💡 提示:若要使用“Docker 数据源”功能(即从容器中读取书籍),必须将 ENABLE_HTTP_SERVER 设置为 true,并确保用户名和密码安全。


🌐 端口映射(Ports)

容器端口 主机端口 用途说明
8080 8023 数据源服务端口(Data Source API),用于同步书籍元数据和阅读进度。外部通过 http://host:8023 访问。
80 8022 Web 版阅读器端口(前端界面),用户通过浏览器访问 http://host:8022 使用 Koodo Reader 的网页版。

⚠️ 注意

  • 默认情况下,数据源使用 8080Web 前端使用 80
  • 如果你想更改数据源端口(如改为 8090),应修改为:- '8090:8080'
  • 若要切换 Web 端口,修改 - '8022:80' 中的主机端口即可(如改为 8080:80)。

📁 挂载目录(Volumes)

宿主机路径 容器路径 作用说明
/data/koodo/uploads /app/uploads 存放用户上传的电子书文件、封面、备份等数据的持久化目录。重启容器后数据不会丢失。

建议

  • /data/koodo/uploads 替换为你实际希望存储书籍的本地路径,例如:/home/user/koodo-data:/app/uploads
  • 确保该目录有读写权限,否则可能导致导入失败或同步异常。

5.3 创建Koodo Reader容器

执行以下命令,创建Koodo Reader容器。

docker compose up -d

在这里插入图片描述

5.4 查看Koodo Reader容器状态

检查Koodo Reader容器运行状态,确保Koodo Reader容器正常启动。

root@jeven:/data/koodo# docker compose ps
WARN[0000] /data/koodo/docker-compose.yaml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion
NAME           IMAGE                                      COMMAND       SERVICE        CREATED          STATUS          PORTS
koodo-reader   ghcr.io/koodo-reader/koodo-reader:master   "/start.sh"   koodo-reader   11 minutes ago   Up 11 minutes   443/tcp, 2019/tcp, 443/udp, 0.0.0.0:8022->80/tcp, [::]:8022->80/tcp, 0.0.0.0:8023->8080/tcp, [::]:8023->8080/tcp

5.5 检查容器运行日志

检查容器运行日志,确保Koodo Reader服务正常运行。

docker compose logs

在这里插入图片描述

六、访问Koodo Reader服务

6.1 访问Koodo Reader首页

浏览器地址: http://<个人的服务器IP>:8022,访问Koodo Reader的初始安装页。如果无法访问,请确保宿主机的防火墙已关闭或已放行相关端口,对于云服务器还需配置相应的安全组规则。

在这里插入图片描述

6.2 导入图书

点击“导入图书”选项,上传本地资料,如下所示:

在这里插入图片描述

在线浏览图书,效果如下:

在这里插入图片描述

6.3 客户端下载

官方Android 版本和IOS 版本等版本下载地址如下:

image.png

在这里插入图片描述

七、总结

通过本次实践,我们成功使用Docker部署了Koodo Reader电子书阅读器,搭建起一个支持多格式、跨平台的本地化阅读环境。该服务运行稳定,界面简洁,开发版本已具备完善的图书管理与阅读功能,个人使用完全够用。通过自托管方式部署,既能保护隐私,又能灵活管理电子书库,是个人数字阅读的理想解决方案。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。