Stump 0.1.12 介绍与选型指南
Stump 0.1.12 数字书媒体服务器的定位、Rust+GraphQL 架构、功能边界与量化选型对比(vs Kavita/Komga/Audiobookshelf/Calibre-Web),信息全部联网溯源。
Stump 0.1.12 介绍与选型指南
目标:讲清 Stump 是什么、技术架构与功能边界,并用社区活跃度、版本节奏、格式与协议兼容等量化维度完成同类选型对比。本文信息全部来自官方文档、官方 GitHub 仓库与站内已发布竞品篇的联网溯源(查询日期 2026-11-02),不含本地实测。部署见本专栏 《Stump 0.1.12 Docker Compose 部署指南》,参数详解见 《Stump 0.1.12 配置参数详解》,CLI 用法见 《Stump 0.1.12 常用 CLI 命令与工具详解》。
一、环境信息
- 被介绍组件:Stump,官方仓库
stumpapp/stump(GitHub),许可证 MIT - 当前最新稳定版:v0.1.12(GitHub Releases 发布于 2026-11-01T15:09:24Z,来源 releases.atom,查询日期 2026-11-02)
- 项目创建时间:2021-12-30(来源 GitHub 仓库页,查询日期 2026-11-02)
- 信息溯源渠道:官方文档站(stumpapp.github.io:Overview / Installation / API / Server Config)、GitHub 仓库页与 releases.atom、shields.io 星数徽章
- 对比对象:Kavita 0.9.1.4、Komga、Audiobookshelf 2.37.2、Calibre-Web 0.6.27、Codex(官方 Overview 页「Similar Projects」列出的同类项目)
二、软件概述
Stump 是一个开源、可自托管的数字书媒体服务器(media server),面向电子书(EPUB)、漫画/图像小说(CBZ/CBR)、PDF 等数字书形态。官方的使用路径概括为三步:在电脑或 NAS 上安装运行 Stump → 配置书库(libraries)→ 用 Web 界面或任意兼容客户端阅读(来源:官方文档 Overview,查询日期 2026-11-01)。
官方明确划定了能力边界:Stump 不是抓取/下载媒体内容的工具,它只负责托管和访问你自己的藏书,定位类似「部署在家里服务器上的私人 Netflix(漫画/电子书版)」(来源:官方文档 Overview,查询日期 2026-11-01)。
作者的动机(来源:官方文档 Overview「Motivations」,查询日期 2026-11-01):
- 作者最初是 Komga 用户,开发 Stump 的初衷是「自己动手做一个类似 Komga 的东西」,并选择 Rust 以积累语言经验;
- 立项目标:小体积低资源占用、在弱硬件(如树莓派)上也高效不卡顿、界面直观美观、格式覆盖广(PDF、EPUB、CBZ/CBR)。
资源要求(来源:官方文档 Overview「Compatibility」,查询日期 2026-11-01):主流浏览器与操作系统均可用;1GB 内存与磁盘空间即足够;在树莓派等低功耗 ARM 单板机上运行良好。
三、核心架构
依据官方文档 Overview / API / Server Config / Installation 页(查询日期 2026-11-01)归纳:
- 服务端:Rust 实现,单二进制同时承载 HTTP 服务与 CLI——不带子命令运行时即启动服务器,带
account/system子命令时即为管理工具(来源:官方文档 CLI 页与--help描述); - API 层:核心 API 是 GraphQL,RESTful 端点仅保留给需要它的集成与功能(如缩略图获取、OPDS、认证);API 认证支持会话(server-side session)、Basic(仅 OPDS 端点)、JWT(短时效 access token + 长时效 refresh token)与用户级 API Keys(来源:官方文档 API 页,查询日期 2026-11-01);
- 存储层:默认 SQLite 单文件库(
stump.db),也支持 PostgreSQL(通过STUMP_DB_URL等连接参数);书库媒体文件直接读取本地目录,不入库; - 任务系统:内置作业调度器(job scheduler),书库扫描、缩略图生成等重活以异步作业执行,并发度由
parallelism_multiplier× 逻辑 CPU 数推导(来源:官方文档 Server Config「Performance」,查询日期 2026-11-01); - 阅读与渲染:EPUB 阅读基于 Readium 网页技术方案;PDF 渲染依赖 PDFium(Docker 镜像内置二进制,非 Docker 部署需自行下载并配置
pdfium_path),渲染 DPI/格式/预渲染范围均可配(来源:官方文档 Server Config「PDF Rendering」,查询日期 2026-11-01); - 客户端矩阵:Web App(React 实现的 SPA,随服务端一起分发)、Desktop App(Tauri 桌面端)、Mobile App(移动端),外加 OPDS 协议对接第三方阅读器;
- 集成生态:Kobo 同步、KoReader 同步(默认关闭,需显式启用)、OIDC 第三方登录、GraphQL Playground(默认关闭)。
💡 技术拓展:数字书自托管服务在「对外协议」上常见三类形态,选型时值得一次看全——
形态 特点 适用 OPDS(Atom 目录协议) 行业标准,Kobo/Calibre/Nova 等海量阅读器原生支持 对接各类硬件阅读器与第三方 App REST API 端点直观,易被脚本与第三方集成 自动化、轻量集成 GraphQL 单端点按需取字段,功能面最全 官方客户端与深度集成 Stump 实际采用「GraphQL 为核心 + REST 辅助 + OPDS v1.2 目录」三层并存;Kavita/Komga 以 REST 为主;Calibre-Web 以 OPDS 为主。
四、功能特性
来源:官方文档 Overview / Server Config / API / Installation 各页(查询日期 2026-11-01),以及 GitHub 仓库 topics(books、comics、media-server、opds、react、rust、self-hosted、tauri):
- 格式支持:EPUB、CBZ/CBR、PDF 等数字书格式(官方原文「Wide format support (e.g., PDF, EPUB, CBZ/CBR)」);
- 书库管理:多书库(library)/系列(series)/媒体(media)三级组织,目录扫描为异步作业;支持网页上传(
enable_upload,默认关闭); - 阅读进度与续读:跨设备进度跟踪,OPDS 页面访问是否计入进度可配(
enable_opds_progression); - 多用户与权限:用户/权限体系(API Keys 即受
ACCESS_API_KEYS权限门控)、年龄限制(age restriction)、OIDC 外部身份源登录; - 设备集成:Kobo 同步、KoReader 同步两条硬件/软件阅读生态通道;
- 部署形态:macOS/Linux/Windows 独立可执行文件(zip/tar.gz,二进制 + client 目录相邻放置即可运行,官方文档含 systemd unit 示例)、Docker 官方镜像
aaronleopold/stump、源码构建三种; - 配置体系:
Stump.toml单文件 + 环境变量双通道(Docker 场景推荐环境变量覆盖),默认值齐备、未配置即用默认。
五、快速开始(最小可用示例)
以下最小示例取自官方 Docker 文档(来源:官方文档 Installation/Docker 页,查询日期 2026-11-01),仅示意形态;完整部署与实测闭环见本专栏 《Stump 0.1.12 Docker Compose 部署指南》。
services:
stump:
image: aaronleopold/stump:latest
container_name: stump
volumes:
- /srv/stump/config:/config
- /srv/books:/data
ports:
- "10801:10801"
environment:
- PUID=1000
- PGID=1000
restart: unless-stopped
启动后浏览器访问 http://<服务器>:10801,首次进入按引导创建服务器属主(owner)账号,随后创建书库指向媒体目录、等待扫描作业完成即可开始阅读。
不想用 Docker 的裸机路径(来源:官方文档 Installation/Binaries 页,查询日期 2026-11-01):从 GitHub Releases 下载对应架构的包(Linux 为 stump-<version>-linux-x64.tar.gz 或 linux-arm64),解出 stump_server 二进制与 client 目录并保持相邻,赋可执行权限后直接运行 ./stump 即启动服务器;官方文档提供了 systemd unit 示例用于常驻托管。
六、适用场景与限制
适用场景:
- 个人/NAS 数字藏书托管:低资源占用(1GB 内存即可)适合树莓派、入门 NAS 等弱硬件;
- 多端阅读家庭:Web/桌面/移动官方客户端 + OPDS 第三方阅读器 + Kobo/KoReader 同步,一套服务端覆盖全家设备;
- 对 API 自动化有诉求的自托管玩家:GraphQL 核心 API + API Keys/JWT,便于脚本化建库、上传与集成。
限制与风险(来源:官方文档,查询日期 2026-11-01):
- 版本仍在 0.x 系列(当前 0.1.12),官方明确 API「仍在持续开发、可能变化」,且文档设有 Breaking changes 专页,升级需留意迁移说明;
- 不做内容获取:下载/刮削需依赖 Calibre、其他工具或手动整理书库目录;
- 上传、GraphQL Playground、Kobo/KoReader 同步、OPDS 进度跟踪等能力默认关闭,需要显式开启;
- 社区规模与同类头部项目(Kavita、Komga、Audiobookshelf)有明显差距,长尾问题响应依赖作者业余维护与 Discord 社区。
七、同类选型对比
星数来源:shields.io GitHub stars 徽章与仓库页(查询日期 2026-11-02;Komga 当日两条渠道均查询失败,标注未取到)。竞品版本与定位佐证另见站内已发布文档。
| 项目 | 定位 | 语言栈 | 星数(2026-11-02) | 最新稳定版 | 站内详解 |
|---|---|---|---|---|---|
| Stump 0.1.12 | 数字书(电子书/漫画/PDF)媒体服务器 | Rust + React | 2764(2.8k) | 0.1.12(2026-11-01) | 本专栏 |
| Kavita | 漫画/电子书服务器 | C#/.NET | 12k | 0.9.1.4 | 《Kavita 0.9.1.4 介绍与选型指南》 |
| Komga | 漫画/电子书服务器(Stump 作者的对标起点) | Kotlin | 未取到(查询失败) | — | — |
| Audiobookshelf | 有声书/播客服务器(兼电子书) | Node.js | 15k | 2.37.2 | 《Audiobookshelf 2.37.2 介绍与选型指南》 |
| Calibre-Web | Calibre 书库的 Web 端 | Python | 19k | 0.6.27 | 《Calibre Web 0.6.27 介绍与选型指南》 |
| Codex | Rust 生态同类数字书服务器 | Rust | — | — | — |
版本节奏量化:Stump 自首版(仓库创建于 2021-12-30)至 v0.1.12 共发布 26 个 release(来源:GitHub 仓库页/releases.atom,查询日期 2026-11-02),最新一版发布于 2026-11-01,迭代持续但单版跨度较长(0.1.x 系列小步演进)。
选型建议(如果…则…):
- 如果藏书以漫画/图像小说 + EPUB/PDF 为主、希望单二进制低内存、且看重 GraphQL API 与 Kobo/KoReader 集成 → 选 Stump;
- 如果需要更成熟的社区、多语言界面与更重的书库管理功能 → 选 Kavita(站内有完整部署与配置篇);
- 如果藏书主体是有声书/播客 → 选 Audiobookshelf,它与 Stump 互补而非互斥(官方 Overview 亦将其列为同类但定位含音频);
- 如果已有 Calibre 书库、只想做 Web 分发与推送 → 选 Calibre-Web;
- 如果无法接受 0.x 版本与 API 变动风险 → 优先 Kavita/Komga 这类 1.0+ 项目。
💡 技术拓展:「数字书服务器」与相邻两类自托管组件的边界——
类型 代表 与 Stump 的关系 书库管理软件 Calibre 本地整理/转换/元数据,Stump 不做抓取整理,二者常搭配使用 通用文件服务器 Jellyfin/Emby 面向视频/音频流,不含书页式阅读与阅读进度 数字书媒体服务器 Stump/Kavita/Komga 书页式阅读、进度同步、OPDS,本表对比维度 Stump 属第三类;Calibre-Web 是「第一类的 Web 前端」,定位差异会影响选型。
八、参考链接
- 官方文档 Overview:https://stumpapp.github.io/overview
- 官方文档 Installation(Binaries/Docker/Source):https://stumpapp.github.io/installation
- 官方文档 API:https://stumpapp.github.io/developer/api
- 官方文档 Server Config:https://stumpapp.github.io/configuration/server-config
- 官方 GitHub 仓库:https://github.com/stumpapp/stump
- 站内相关:《Kavita 0.9.1.4 介绍与选型指南》、《Audiobookshelf 2.37.2 介绍与选型指南》、《Calibre Web 0.6.27 介绍与选型指南》