banner
约 1,800 字
6 分钟

喜欢看漫画的进,用NAS打造个人本地漫画库,支持mobi格式

-
-
无标签

摘要

Komga-cn 是专为 NAS 本地漫画库设计的魔改版 Komga,完美支持 mobi 格式及中文 EPUB,解决了原版兼容性问题。部署时需规范目录结构(系列独立文件夹、卷号两位数),并配置足够内存。建议接入 Bangumi 等源获取元数据,推荐使用 Mihon 或 Tachimanga 客户端阅读。使用时请勿直接暴露公网,注意数据安全。

前言

喜欢收藏漫画的朋友,一定想在 NAS 上建一个自己的"本地漫画库",这样不管是手机还是平板,随时随地都能翻出收藏慢慢看。官方版的 Komga 确实是很好的漫画管理工具,搭配客户端用起来很方便——唯一可惜的是支持的格式有限,很多从旧设备里导出的 mobi 格式漫画没法直接读。

尤其很多朋友手头有 Kindle(虽然已退出中国市场,但当年下载 / 导出的 mobi 漫画资源仍留了不少),这些 mobi 文件在 Komga 里默认看不了,得先转格式,非常麻烦。

最近发现一个魔改版 Komga 项目 komga-cn(其实早就有了,只是分享得少):它在原版基础上增加了 mobi 格式支持,同时修复了中文 EPUB 的显示问题,还增强了封面获取逻辑、支持中文拼音首字母索引。对本地漫画比较多的朋友很实用,分享给还不知道的同学。

提示:本工具定位是管理你自己合法拥有的本地漫画文件(备份、Kindle 导出、自购资源等),配合自托管使用,观看体验完全自主可控。

blog image

为什么原版 Komga 读不了 mobi

这不是"作者偷懒",而是一个格式谱系问题,搞清楚了你就知道 komga-cn 到底改了什么。

mobi 从根上就不是漫画格式。 它是亚马逊为 Kindle 设计的电子书格式(后来演进成 AZW3 / KFX),本质是"文本流 + 少量插图",为的是在墨水屏上流畅翻页。而漫画需要的"一页一张大图、按图片顺序排列"这种结构,mobi 里并没有一等公民的地位——它只是把图片当成"章节里的一个对象"塞进去。

所以:

  • 像 CBZ / CBR / PDF / EPUB 这些,图片与页序是明确的,Komga 的解析器直接就能读懂;

  • mobi 得先"从电子书容器里把图片一张张抠出来、再推断页序",原版 Komga 没做这一步,于是直接不认。

komga-cn 做的就是补上这个解析环节——顺带修了中文 EPUB 的排版显示问题(原版对中日韩竖排 / 标点挤压的处理在部分文件上会错位),并把封面获取与拼音首字母索引做了加强。对中文用户来说,这几项针对性很强。

部署

  1. 项目地址:https://github.com/wushuo894/komga-cn

  2. 用 docker compose 部署项目:

YAML
version: "3"
services:
  komga-cn:
    image: wushuo894/komga-cn:latest
    container_name: komga-cn
    network_mode: bridge
    mem_limit: 8192m
    ports:
      - "25600:25600" # web端口
    environment:
      - TZ=Asia/Shanghai
      - CHS=TRUE # 开启繁转简
    volumes:
      - ./config:/config # 配置文件存放位置
      - /vol1/1000/漫画:/comic # 改成自己存放漫画的地址
    restart: always

部署要点:/vol1/1000/漫画 改成你 NAS 上真实存放漫画文件的目录;mem_limit 设了 8G,是因为 mobi / 大体积漫画扫描时比较吃内存,小内存设备可适当调低;CHS=TRUE 开启简繁转换,中文阅读更友好。

blog image

关于那 8G 内存:Komga 是 JVM 应用,"扫库"这一步要把每个压缩包打开、读元数据、抽封面,几千本漫画的首次扫描会一次性占用大量堆内存。所以 mem_limit 与其说是"运行需要",不如说是"扫描峰值需要"。

实用建议:首扫阶段给足内存,扫完稳定运行后其实占用很低,那时再收紧也无妨。反过来,如果内存给太小,表现往往是扫描中途进程被杀、库里一半有封面一半没有——比慢更难受。

目录结构:这一步决定你的库好不好用

这是新手最容易忽略、事后最难补救的一环。Komga 是按"文件夹层级"来理解你的收藏的,命名不规范会出现各种诡异现象:同一个系列被拆成好几本、卷号识别错乱、封面乱抓。

推荐遵循它预期的这套层级:

纯文本
/comic
├── 漫画名A/
│   ├── 第01卷.cbz
│   ├── 第02卷.cbz
│   └── 特别篇/
│       └── 番外01.cbz
└── 漫画名B/
    └── 第01卷.mobi

关键点:

  1. 一个系列 = 一个文件夹,系列内的文件按文件名排序识别卷号;

  2. 卷号写在文件名里,用两位数补零(第01卷 而不是 第1卷),否则 第10卷 会在 第2卷 前面——这是纯字符串排序的必然结果;

  3. 特别篇 / 番外建议放进子文件夹,别和正篇混在同一层,否则会被当成分卷;

  4. 别用中文全角书名号之外的奇怪分隔符(如 【】、多个 .),解析器容易截断错位。

一个提醒:这条路是单向的。 一旦库建立起来、Komga 把元数据写进了自己的数据库,之后再大改目录名,可能被识别成"旧系列消失 + 新系列出现",你手动改过的封面、标签、阅读进度都会丢。所以最好在添加媒体库之前,就把文件目录整理一遍。

使用

  1. 浏览器打开 http://NAS的IP:25600,进入 Komga 登录页,语言选中文,创建你的登录账号。

blog image
  1. 添加媒体库(Library)。

blog image
  1. 文件夹选择 comic —— 它对应 docker compose 里映射的那个漫画存放目录。这样 Komga 就能读到你的本地漫画文件了。

blog image
  1. 等待首次扫描完成(文件多的话会花一些时间),之后就能在 Web 端或客户端里正常看漫画了。

blog image

元数据和封面,从哪来?

Komga 默认不依赖任何在线数据源就能识别出"系列名 + 卷号 + 页数"——这些是从文件名和文件内部读出来的。但"这本漫画的作者、简介、正确封面"属于元数据,就需要额外接入数据源了。

对中文漫画来说,实际可用的路子大致两类:

  • Bangumi(番组计划):中文圈最完整,多数 Komga 用户会挂它的元数据代理;

  • 英文社区源(如 MangaDex 等):覆盖更广,但你得接受信息是英文的。

不接也能用——只是封面可能来自压缩包里的第一张图,简介为空。所以别指望开箱就有漂亮的库,花十分钟配一下元数据代理,观感差别很大。

客户端

服务端搭好后,用客户端阅读体验更好:

  1. 安卓推荐 Mihon(开源的漫画阅读器):功能强大,通过插件既能连接你自建的 Komga 读取本地库,也支持接入在线漫画源(注意:接入的第三方源多为社区维护,请在合规、尊重版权的范围内使用自己有权访问的内容)。

blog image
  • 搜索并安装 Komga 插件。安装第三方插件时 Mihon 会弹出各种安全提醒,请自行斟酌是否继续——尽量只装官方维护或口碑好的插件。

blog image
  • 打开插件 → 右上角设置,填写你的 Komga 服务地址(需要外网访问的话可以用域名反代),再登录你在 Komga 里创建的邮箱和密码。

blog image
  • 刷新后,即可在 Mihon 里看到并阅读 NAS 上的漫画了。

blog image
  1. iOS 推荐 Tachimanga:用法和安卓的 Mihon 相同,装好插件登录自己的 Komga 即可。

blog image
  1. 安卓再推荐一个更"专一"的 Komelia:它功能简单、只用来读 Komga 的漫画,操作上手更快,适合不需要复杂功能的场景。地址:https://github.com/Snd-R/Komelia

blog image

想在浏览器里直接看?还有一条路

Komga 自带 Web 阅读器,其实已经能覆盖大部分需求。但如果你希望在同一个 NAS 上还能干点别的浏览器活儿(比如访问某些只在桌面浏览器里好用的站点、做点在线操作),可以考虑在 NAS 上再跑一个容器化的浏览器 —— 之前写过一篇 NAS 上跑 Docker 版 Edge 浏览器 的完整部署,不占用你日常电脑,手机也能连上去用。

这类玩法和 Komga 是互补的:一个负责"看内容",一个负责"用工具"。原理上都是把应用容器化后由 Web 界面访问,感兴趣的可以顺着这条线再看看。

小结

这套方案的思路是:用 komga-cn 服务端管理本地漫画(重点解决 mobi / 中文 EPUB 兼容),再用 Mihon / Tachimanga 等客户端多端阅读。对收藏了大量旧 mobi 格式漫画、又想在手机上舒服观看的朋友,komga-cn 是原版 Komga 之外一个很实用的补充选择。

最后再强调两件最容易吃亏的事:一是加库之前先规范目录结构(事后改代价大),二是别把它直接暴露在公网——漫画库属于私人数据,需要外网访问的话,走反代加认证或内网穿透方案更稳妥。

END

相关文章

暂无相关文章