Repolode
grimmory-tools

grimmory-tools/grimmory

A self-hosted digital library for ebooks, comics, and audiobooks, with built-in reading, metadata lookup, and device sync.

Open-source alternative to:Calibre-WebPlex

Stars
4,553
Forks
345
Open issues
237
Last commit
22 hours ago

What is it?

Grimmory is a self-hosted library server for managing personal collections of ebooks, PDFs, comics, and audiobooks. It runs as a Docker container alongside a MariaDB database, and users access it through a web interface where they can organize books into custom and rule-based shelves, search across content, and edit metadata.

Books can be read in the browser, including PDFs, EPUBs, and comics, with annotations, highlights, and reading progress tracking. Covers, descriptions, and ratings are pulled from Google Books, Open Library, and Amazon. The BookDrop feature watches a folder and automatically detects, enriches, and queues new files for review before import.

For devices, Grimmory supports Kobo connections, OPDS-compatible reading apps, and KOReader progress sync. Multiple users can each keep their own shelves and preferences, with local or OIDC authentication. Books can also be sent to a Kindle or an email address. A DISK_TYPE=NETWORK mode disables destructive file operations for shared NFS or SMB mounts.

Key features

  • 01Custom and rule-based smart shelves with full-text search
  • 02Built-in browser reader for PDF, EPUB, and comics with highlights and progress tracking
  • 03Metadata and cover lookup from Google Books, Open Library, and Amazon
  • 04BookDrop folder that auto-detects and queues new files for import
  • 05Kobo, OPDS, and KOReader device support
  • 06Multi-user accounts with local or OIDC authentication

Use cases

  • Hosting a personal ebook and comic collection on a home server
  • Managing a shared family library with separate reading progress per user
  • Keeping books on a NAS and reading them across Kobo, Kindle, or OPDS apps

Quick start

  1. 1

    Create a .env file with database and app settings

  2. 2

    Create a docker-compose.yml file (based on the sample in the README)

  3. 3

    Start the services with Docker Compose

    docker compose up -d
  4. 4

    Open http://localhost:6060 in a browser and create your admin account

Things to know

  • Requires Docker and Docker Compose plus a MariaDB database to self-host.
  • Licensed under AGPL-3.0, a copyleft license that requires sharing modified source when offered as a network service.
  • Network storage mode disables delete, move, and rename operations from the UI.

Topics

FAQ

What is grimmory?
A self-hosted digital library for ebooks, comics, and audiobooks, with built-in reading, metadata lookup, and device sync. Grimmory is a self-hosted library server for managing personal collections of ebooks, PDFs, comics, and audiobooks. It runs as a Docker container alongside a MariaDB database, and users access it through a web interface where they can organize books into custom and rule-based shelves, search across content, and edit metadata.
Is grimmory free to use? What license does it have?
grimmory is open source under the AGPL-3.0 license. Check the license terms before using it in commercial products.
Is grimmory still maintained?
Actively maintained. The last commit to grimmory was on Oct 19, 2026.
What can I use grimmory for?
Hosting a personal ebook and comic collection on a home server Managing a shared family library with separate reading progress per user Keeping books on a NAS and reading them across Kobo, Kindle, or OPDS apps
How do I install grimmory?
Create a .env file with database and app settings Create a docker-compose.yml file (based on the sample in the README) Start the services with Docker Compose: docker compose up -d Open http://localhost:6060 in a browser and create your admin account
Where can I get grimmory?
The source code and installation instructions are on GitHub: https://github.com/grimmory-tools/grimmory

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects