Stump logo

Stump

  •  0 ratings
In category: Document Management / E-books

About Stump

A fast, free and open source comics, manga and digital book server with OPDS support.

  •   414  
  •   0  
  •   0  
  •   0  
Github stats:
  •  Commits: 268  
  •   366  
  •   18  
  •  Latest commit: Oct 22, 2022  

Deploy this app to Linode with a free $100 credit!

Languages/Platforms/Technologies:
Lincenses:

More about Stump

Stump's logo. Description: A young individual sitting on a tree stump reading a book. Inspired by Stump's creator's childhood, where a large amount of his time was spent sitting on a tree stump reading his comic books.
Awesome Self-Hosted Docker Pulls

Stump is a free and open source comics, manga and digital book server with OPDS support, created with Rust, Axum, Prisma and React.

Screenshot of Stump

Table of Contents

- [Roadmap πŸ—Ί](#roadmap-) - [Getting Started πŸš€](#getting-started-) - [Developer Guide πŸ’»](#developer-guide-) - [Where to start?](#where-to-start) - [Project Structure πŸ“¦](#project-structure-) - [/apps](#apps) - [/common](#common) - [/core](#core) - [Similar Projects πŸ‘―](#similar-projects-) - [Acknowledgements πŸ™](#acknowledgements-)

🚧 Disclaimer 🚧: Stump is very much an ongoing WIP, under active development. Anyone is welcome to try it out, but please keep in mind that installation and general usage at this point should be for testing purposes only. Do not expect a fully featured, bug-free experience if you spin up a development environment or use a testing Docker image. Before the first release, I will likely flatten the migrations anyways, which would break anyone's Stump installations. If you'd like to contribute and help expedite Stump's first release, please see the contributing guide for more information on how you can help. Otherwise, stay tuned for the first release!

Roadmap πŸ—Ί

The following items are the major targets for Stump's first release:

  • πŸ“ƒ Full OPDS + OPDS Page Streaming support
  • πŸ“• EPUB, PDF, and CBZ/CBR support
  • πŸ“š Organize libraries with collections and reading lists
  • πŸ”Ž Versitile full-text search
  • πŸ” Role-based access-control with managed user accounts and configurable privileges
  • πŸš€ Easy setup and deployment using Docker or bare metal
  • πŸ‘€ Fully responsive, built-in UI with a dark mode
  • πŸƒ Low resource utilization with excellent performance
  • 🧰 Easily consumable and self-documented REST API, so community tools and scripts can interact with Stump
  • 🌈 And more!

Things you can expect to see after the first release:

I am very open to suggestions and ideas, so feel free to reach out if you have anything you'd like to see!

For more, feel free to view the FAQ page. If you're interested in tracking the development of specific features, you can take a look at my personal task board.

Getting Started πŸš€

Stump isn't ready for normal, non-development usage yet. Once a release has been made, this will be updated. For now, follow the Developing section to build from source and run locally.

There is a docker image available for those interested. However, this is only meant for testing purposes and will not be updated frequently, so do not expect a fully featured, bug-free experience if you spin up a container.

For more information about getting started, how Stump works and how it manages your library, and much more, please visit stumpapp.dev.

Developer Guide πŸ’»

Contributions are very encouraged and welcome! Please review the contributing guide for more thorough information on how to get started.

A quick summary of the steps required to get going:

  1. Install pnpm, rust and node
  2. If you're running Windows, you will need Visual C++
  3. If you're running macOS on Apple Silicon, you'll need to install Rosetta
  4. Install cargo-watch
  5. Run the setup:
pnpm run setup
  1. Start one of the apps:
pnpm dev:web # Web app
pnpm dev:desktop # Desktop app

And that's it!

Where to start?

If you aren't sure where to start, I recommend taking a look at the task board. This is where I track the broader development items for Stump. It is mostly for my own personal organization, but should still hopefully give you an idea of what needs work.

You can also check out the v0.1.0 milestone for a more filtered list of major features planned for that 0.1.0 release.

Some other good places to start:

  • Translation, so Stump is accessible to non-English speakers.
  • An automated translation system would be immensely helpful! If you're knowledgeable in this area, please reach out!
  • Writing comprehensive integration tests.
  • look here
  • Designing and/or implementing UI elements.
  • Docker build optimizations (it is currently horrendously slow).
  • CI pipelines / workflows (given above issue with Docker is resolved).
  • And lots more!

I keep track of all non-code contributions in the CONTRIBUTORS.md file. If you contribute in that manner, please add yourself to the list!

Run in Postman

Project Structure πŸ“¦

Stump has a monorepo structure that follows a similar pattern to that of Spacedrive.

/apps

  • desktop: A Tauri application.
  • server: An Axum server.
  • web: The React application that is served by the Axum server.

/common

  • client: Everything needed to create a react-based client for Stump. Contains Zustand and React Query configuration, used by the interface package, as well as the generated TypeScript types.
  • config: Configuration files for the project, e.g. tsconfig.json, etc.
  • interface: Stump's main React-based interface, shared between the web and desktop applications.

/core

  • core: Stump's 'core' functionality is located here, written in Rust. The server was previously part of the core, but was extracted to support integration testing.

Similar Projects πŸ‘―

There are a number of other projects that are similar to Stump, it certainly isn't the first or only digital book media server out there. If Stump isn't for you, or you want to check out similar projects in the rust and/or self hosting spaces, consider checking out these other open source projects:

Acknowledgements πŸ™

  • Komga is a huge inspiration for Stump, an amazing comics/manga media server written in Kotlin.
  • Brendonovich for building prisma client rust, which allows me to use Prisma with Rust. Stump previously used SeaORM, but the DX simply can't compare to Prisma.

Comments (0)

Please login to join the discussion on this project.

Stump Reviews (0)

Overall Rating

None

based on 0 ratings

Please login to review this project.

No reviews for this project yet.

↑ back to top

pCloud Lifetime

Popular Projects

FluxBB

in Social Networks and Forums
 33k    0    0    0  

Nextcloud

in File Transfer & Synchronization
 20k    1    1    0  

Libreddit

in Social Networks and Forums
 7k    0    1    0  

Dashboard

in Personal Dashboards
 5k    0    0    0  

Audiobookshelf

in Audio Streaming
 5k    0    1    0  

CasaOS

in Self-hosting Solutions
 5k    0    0    0  

Mediagoblin

in Photo and Video Galleries
 4k    0    0    0  

Most Discussed

Nextcloud

in File Transfer & Synchronization
 20k    1    1    0  

Tube Archivist

in Automation
 3k    0    1    0  

OneDev

in Project Management
 2k    0    0    0  

iodine

in Proxy
 2k    0    0    0  

Alf.io

in Booking and Scheduling
 2k    0    0    0  

sysPass

in Password Managers
 1k    0    0    0  

Misskey

in Social Networks and Forums
 2k    0    0    0  
Linux VPS from $11/yr.
RackNerd VPS for $11.38/mo

Top Rated Projects

Gitea

 1 rating
in Project Management

Bagisto

 1 rating
in E-commerce

LinkAce

 1 rating
in Bookmarks and Link Sharing

Pydio

 1 rating
in File Transfer & Synchronization

Audiobookshelf

 1 rating
in Audio Streaming

Nextcloud

 1 rating
in File Transfer & Synchronization

Seafile

 1 rating
in File Transfer & Synchronization

Categories

You May Also Be Interested In

pyShelf logo
pyShelf cover

pyShelf

Lightweight Ebook Server.

Komga logo
Komga cover

Komga

Media server for comics/mangas/BDs with API and OPDS suppor…

Calibre Web logo
Calibre Web cover

Calibre Web

Web app providing a clean interface for browsing, reading a…