Stump's logo. It depicts a young individual sitting on a tree stump reading a book. Inspired by the developer's childhood, where they spent a significant amount of time reading on a tree stump in their backyard
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, SeaORM and React.

Screenshot of Stump

Table of Contents

- [Disclaimer](#disclaimer) - [Features](#features) - [Roadmap](#roadmap) - [Getting Started](#getting-started) - [Developer Guide](#developer-guide) - [Contributing](#contributing) - [Repository Structure](#repository-structure) - [Similar Projects](#similar-projects) - [License](#license) - [Attribution](#attribution)

## Disclaimer Stump is under active development and should be treated as **beta software** until it reaches a stable `1.0` release. I do my best to avoid breaking changes, or changes which might cause data loss, but there are no guarantees. I develop and maintain Stump in my free time. In other words, this is not my job and there is no guarantee of any timeline for features or bug fixes. ## Features - [OPDS](https://opds.io/) [v1.2](https://specs.opds.io/opds-1.2) (including [OPDS PSE](https://github.com/anansi-project/opds-pse)) and [v2.0](https://specs.opds.io/opds-2.0.html) support - EPUB, PDF, CBZ/ZIP, and CBR/RAR support - Built-in readers for all supported formats - Annotations and highlights for EPUB books - OIDC authentication - Translations with [Crowdin](https://crowdin.com/project/stump) - Multi-user account management with permissions, age restrictions, and other access control features - Theming support with a handful of [built-in themes](https://www.stumpapp.dev/docs/apps/web/themes) - [Kobo](https://www.stumpapp.dev/docs/guides/integrations/kobo) and [KoReader](https://www.stumpapp.dev/docs/guides/integrations/koreader) sync integrations - Multiple different installation methods, including Docker and pre-built binaries And more not mentioned. The [documentation](https://www.stumpapp.dev) will provide additional details about features, installation, and usage guides. ## Roadmap You can track the [project boards](https://github.com/stumpapp/stump/projects?query=is%3Aopen) to see what efforts are currently being worked on or planned. Feel free to create an issue or discussion if you have anything else you'd like to see! ## Getting Started The installation guides are available in the [documentation](https://www.stumpapp.dev/docs/getting-started/installation) (or [the markdown](/docs/content/docs/getting-started/installation/index.mdx), if you prefer). ## Developer Guide The developer guide is available in the [documentation](https://www.stumpapp.dev/docs/developer/contributing) (or [the markdown](/docs/content/docs/developer/contributing.mdx), if you prefer). To not have to maintain two copies of the same information, please refer to those links for the most up-to-date information. ### Contributing Contributions are very **welcome**! Please review the [CONTRIBUTING.md](./.github/CONTRIBUTING.md) before getting started. I recommend taking a look at [open issues](https://github.com/stumpapp/stump/issues). You can also check out the [project boards](https://github.com/stumpapp/stump/projects?query=is%3Aopen) to see what efforts are active or planned. In general, the following areas could always use help: - Translations, so Stump is accessible to as many people as possible - You can translate through [Crowdin](https://crowdin.com/project/stump) or help find/fix areas of the app that need better translation coverage - Writing comprehensive tests - Improving the UI/UX, even small changes can go a long way - CI pipelines, automated release processes, and other devops-related efforts - Addressing `TODO` or `FIXME` comments in the codebase ## Repository Structure The repository is managed via yarn workspaces and cargo workspaces: ```bash # The primary applications all grouped together apps/ desktop/ # Tauri wrapping the web UI expo/ # React Native app server/ # Axum server web/ # UI served by the server # The primary internals, like file processing etc core/ # Supporting Rust crates (cli, graphql, integrations, etc) crates/ migrations/ # Database migrations models/ # Database models docs/ # Shared TypeScript packages packages/ ``` ## 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 this space, here are some other projects you might be interested in: - [audiobookshelf](https://github.com/advplyr/audiobookshelf) (_Audiobooks, Podcasts_) - [Codex](https://github.com/ajslater/codex) - [Kavita](https://github.com/Kareadita/Kavita) - [Komga](https://github.com/gotson/komga) - [Storyteller](https://gitlab.com/storyteller-platform/storyteller) ## License > If a package or subfolder has its own license file, that license takes precedence over the repository-level license and will be listed below. - The [expo application](./apps/expo/LICENSE) is licensed under [GPL-3.0](https://www.gnu.org/licenses/gpl-3.0.html) - All other code in the repository is licensed under [MIT License](https://www.tldrlegal.com/license/mit-license) ## Attribution - Some of the icons used in the web and mobile applications are from the [Spacedrive](https://github.com/spacedriveapp/spacedrive/tree/main/packages/assets/icons) repository, and are licensed under the [AGPL-3.0]() license. - The native Readium expo modules were adapted from [Storyteller](https://gitlab.com/storyteller-platform/storyteller)