Overview
Discover what makes Stump powerful
**Stump** is a self‑hosted digital library for comics, manga and other e‑books that exposes a modern REST API and an OPDS feed. Built entirely in Rust, it leverages the async web framework **Axum** for request handling, **Prisma‑Client‑Rust** as its ORM, and a React SPA for the front end. The stack is intentionally lightweight: Rust guarantees low runtime memory usage and high concurrency, while Axum’s composable middleware makes it straightforward to add authentication, rate‑limiting or logging. Prisma provides a type‑safe query layer over PostgreSQL (or SQLite in dev), allowing developers to reason about database schema changes with confidence.
Media ingestion
OPDS 2.0
REST API
Authentication
Overview
Stump is a self‑hosted digital library for comics, manga and other e‑books that exposes a modern REST API and an OPDS feed. Built entirely in Rust, it leverages the async web framework Axum for request handling, Prisma‑Client‑Rust as its ORM, and a React SPA for the front end. The stack is intentionally lightweight: Rust guarantees low runtime memory usage and high concurrency, while Axum’s composable middleware makes it straightforward to add authentication, rate‑limiting or logging. Prisma provides a type‑safe query layer over PostgreSQL (or SQLite in dev), allowing developers to reason about database schema changes with confidence.
Architecture
The codebase is split into several crates following a domain‑driven design. The core crate contains business logic and reusable modules (e.g., media parsing, OPDS generation). The apps folder holds the server binary (stump-server) and optional CLI tools. React is bundled with Vite and served by Axum’s static file handler, enabling a single‑binary deployment. Communication between the server and UI is purely HTTP/JSON; the client does not interact with Prisma directly, preserving a clean separation of concerns. All data models are generated by Prisma at compile time, so the type‑checker guarantees that API responses match the database schema.
Core Capabilities
- Media ingestion: Scans a directory tree, extracts metadata from CBZ/CBR, EPUB and PDF files, and stores them in the database. The ingestion pipeline is fully asynchronous and can be triggered via a REST endpoint or a background job.
- OPDS 2.0: Generates OPDS feeds for collections, reading lists and search results. Endpoints are paginated and support range headers for efficient streaming.
- REST API: CRUD operations on books, collections, and users. The API is documented with OpenAPI annotations; tools like Swagger UI or Postman can generate client code automatically.
- Authentication: Supports JWT‑based auth with role‑based access control, making it trivial to integrate with existing identity providers or build a custom login flow.
Deployment & Infrastructure
Stump ships as a pre‑built Docker image (aaronleopold/stump) that pulls in the Rust binary and a Node‑based React build. The image is minimal (≈200 MB) thanks to Rust’s static linking and the absence of a runtime. For bare‑metal deployments, building from source requires only rustc, cargo and a PostgreSQL instance. The application is stateless except for its database, which means horizontal scaling can be achieved by running multiple replicas behind a load balancer. Because the UI is served from the same binary, there are no separate front‑end containers to orchestrate.
Integration & Extensibility
Stump exposes a clean, versioned REST API that can be consumed by any HTTP client. Webhooks are planned for future releases, allowing external services (e.g., a CI pipeline that adds new comics) to react to events such as “book added” or “collection updated.” The plugin system is still in early stages, but the architecture encourages adding middleware or custom routes by extending the core crate. Developers can also fork the React client and replace components with custom UI elements without touching the backend.
Developer Experience
The repository follows a monorepo layout with clear separation of concerns, making it easy to navigate. Documentation is kept up‑to‑date in the docs/ folder, and the README contains a detailed developer guide. The community is active on Discord, where contributors can discuss feature requests or ask for help. Licensing under MIT removes any commercial barriers, allowing developers to embed Stump into proprietary products without additional costs.
Use Cases
- Personal library server: Run Stump on a NAS to serve comics to multiple devices over LAN or VPN.
- Small publisher backend: Expose a curated OPDS feed to partner readers while keeping control over distribution.
- Research projects: Use the ingestion pipeline and search API to build analytics dashboards for reading habits.
- Educational institutions: Host a digital collection of textbooks and comics with fine‑grained access control for students.
Advantages
Stump’s Rust foundation delivers high performance with low memory footprint, which is ideal for resource‑constrained environments. The combination of Axum and Prisma gives developers a type‑safe, async web stack that scales horizontally with minimal effort. Compared to other self‑hosted e‑book servers, Stump offers native OPDS support out of the box and a modern React UI that can be customized or replaced. The open‑source MIT license, active community, and clear documentation make it a compelling choice for developers who need a reliable, extensible digital library solution without vendor lock‑in.
Open SourceReady to get started?
Join the community and start self-hosting Stump today
Related Apps in other
Immich
Self‑hosted photo and video manager
Syncthing
Peer‑to‑peer file sync, no central server
Strapi
Open-source headless CMS for modern developers
reveal.js
Create stunning web‑based presentations with HTML, CSS and JavaScript
Stirling-PDF
Local web PDF editor with split, merge, convert and more
MinIO
Fast, S3-compatible object storage for AI and analytics
Weekly Views
Repository Health
Information
Explore More Apps
Baby Buddy
Track baby milestones, sleep, feedings, and more to predict needs
yt-dlp Web UI
Web interface for yt‑dlp with low resource impact
Ryot
All‑in‑one self‑hosted tracker for media and fitness

Forgejo
Self-hosted lightweight code forge
Damselfly
Fast, AI‑powered photo management for large collections
Kaneo
Sleek self-hosted project management for teams