- Java 51.5%
- TypeScript 25.5%
- Kotlin 13.3%
- Svelte 7.6%
- JavaScript 1.4%
- Other 0.6%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
Some checks failed
CI / bridge (push) Failing after 2s
Edge Image / bridge-runtime (push) Failing after 3s
CI / web (push) Failing after 38s
Edge Image / base (push) Failing after 37s
Edge Image / web-runtime (push) Successful in 1m20s
Edge Image / publish (push) Has been skipped
CI / runtime-smoke (push) Failing after 1m45s
Add metadata editing, source and duplicate management, recommendations, chapter tools, and private notes to the shared title experience. Preserve ambiguous chapter history during volume repairs and stabilize reader page links. |
||
| .forgejo/workflows | ||
| audits | ||
| bridge | ||
| docs | ||
| scripts | ||
| web | ||
| .dockerignore | ||
| .gitignore | ||
| compose.dev.yaml | ||
| compose.verify.yaml | ||
| compose.yaml | ||
| Dockerfile | ||
| Dockerfile.ci | ||
| Justfile | ||
| LICENSE | ||
| README.md | ||
Mangarr
Mangarr is a self-hosted manga manager built around a SvelteKit web app, a self-hosted Convex backend, and a Kotlin bridge that handles source access, downloads, and reader-side file serving.
What It Does
- browse and search Tachiyomi-compatible sources
- import titles into a local library with statuses, collections, and progress
- download chapters and read them in the browser
- manage extensions, source preferences, proxy settings, and integration keys
Quick Start
Development:
docker compose -f compose.dev.yaml up --build
Production example:
MANGARR_IMAGE=ghcr.io/tftiwnbe/mangarr:sha-<git-sha> \
docker compose up -d
Repo-built runtime with explicit host mounts:
MANGARR_HOST_CONFIG_DIR=./config \
MANGARR_HOST_DOWNLOADS_DIR=./data \
MANGARR_HOST_POSTGRES_DIR=./postgres \
MANGARR_HOST_EMBEDDINGS_DIR=./embeddings \
docker compose up -d --build
Images:
ghcr.io/tftiwnbe/mangarr:edgeghcr.io/tftiwnbe/mangarr:sha-<git-sha>
For production, prefer a pinned sha-... tag or image digest over a floating channel.
Current published runtime images target linux/amd64, which is also the supported container path for the embedded KCEF runtime.
Docs
Project Layout
web/SvelteKit runtime plus Convex functions; see web/README.md for the backend/frontend boundarybridge/Kotlin/JVM bridge runtimeconfig/persisted runtime state, extensions, auth material, and logsdata/downloaded chapter filespostgres/Convex's PostgreSQL database (required in backups along withconfig/anddata/)
Credits
Mangarr builds on ideas and implementation work from the Tachiyomi ecosystem.
- The server-side foundation and extension-oriented workflow were heavily influenced by the earlier TachiWeb and Tachidesk line of projects.
- Large parts of the bridge-side extension runtime and self-hosted source workflow were adapted from or directly inspired by Suwayomi-Server.
- The
AndroidCompatmodule was originally developed by @null-dev and remains an important part of making extension code run on the JVM side. - Keiyoushi Extensions provides the extension catalog Mangarr uses through its bridge runtime.
- The broader extension author community made the source ecosystem this project depends on possible in the first place.
Please keep the original upstream licenses and attribution in mind when reusing or redistributing derivative work.
License
Mangarr is licensed under the GNU Affero General Public License v3.0. See LICENSE.