Let's the magic flow through your books
Grimoire is a Digital Archiving & Publishing System designed to manage, edit, and publish digital books. Built with a local-first philosophy and a unified book-tree structure, Grimoire enables seamless organization and high-fidelity compilation of your manuscripts.
GRIMOIRE provides an elegant, structured environment for digital archives. Whether you manage a large digital library or compile individual novels, it delivers absolute precision from layout styling to metadata management.
- High-Fidelity Storage: Stores book structures (Series/Volume/Chapter) and content segments (Text/Image/Divider) with absolute precision.
- Unified Book Tree: Structural management separated from heavy content payloads, utilizing fractional ordering algorithms for single-update insertions.
- Scriban Templates: Fast, robust document packaging through the Scriban templating engine.
- Masterful Binding: Packages multiple volumes and chapters into commercial-grade EPUB 3.3 formats (Kindle/Apple Books compatible) with full popup footnote support.
- Flexible Storage: Local Storage or S3-compatible object storage (e.g., MinIO).
Follow these steps to set up and run Grimoire on your local machine.
- Docker & Docker Compose
- .NET 10 SDK (optional, only for local IDE-based development)
-
Clone the repository:
git clone https://github.com/fm39hz/Grimoire.NET.git
-
Start the services using Docker Compose:
docker compose up --build
-
Access the OpenAPI Dashboard at:
http://localhost:8080/scalar/v1
Grimoire structures your publishing workflows into three primary modules:
- The Collector: Coordinates asset uploads (Covers, Content Images) and imports raw chapter data from scraper scripts.
- The Librarian: Manages metadata for series (Authors, Artists, Description, Tags) and volumes (ISBN, Publication Date).
- The Bindery: Compiles collections into beautiful digital books under background jobs.
For detailed API definitions, refer to the API Documentation.
- Series/Volume/Chapter CRUD operations
- S3 Storage & LocalStorage options
- Scriban HTML/Markdown/EPUB Render Engine
- Hangfire Background Export Jobs
- Chapter Split & Merge APIs
- AZW3 Export Implementation
- Advanced Search & Tag Filter
See the Open Issues for a full list of proposed features.
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.
Project Lead: FM39hz
Project Link: https://github.com/fm39hz/Grimoire.NET
- VersOne.Epub - Outstanding EPUB parsing library.
- Scriban - Extremely fast and lightweight templating tool.
- Hangfire - Reliable background processing for .NET.