Self-host Grimoire
v1.9.2Self-hosted TTRPG library manager
- Stars
- 300
- Port
- 9481 (HTTP web interface)
hunterreadca/grimoireWhat is Grimoire?
Grimoire is a self-hosted web application for organizing a personal tabletop RPG collection. Point it at a directory of PDFs, maps, tokens, audio files, and 3D models, and it creates a searchable library you can reach from any device. Each PDF page is indexed with SQLite FTS5, including scanned books via OCR. The software provides a page-by-page reader with pinch-to-zoom and spread view, a map gallery with Universal VTT editing for dynamic lighting, a token editor for making VTT-ready tokens, and an audio library with a persistent player and soundboard. Campaign features include a markdown wiki, character sheets, and scheduling. The app runs in a single Docker container, mounts your existing library read-only by default, and supports OpenID Connect for single sign-on with providers such as Keycloak, Authentik, and Auth0. The project uses the GPL-3.0 license.
Should you self-host Grimoire?
Grimoire scores 52/100 on selfhost.directory (how scoring works) and ranks #6 of 12 in Book Management. It has 300 GitHub stars.
It shipped 10 stable releases in the past year. The latest, v1.9.2, came out on 23 October 2026. New versions land roughly every 7 days.
Setup is moderate: expect some configuration beyond a single command. An official Docker image is available. It is GPL-3.0-licensed and written mostly in Python.
Its closest alternative on selfhost.directory is bookorbit (73/100, 5 872 stars). It scores higher overall, so compare the two before you pick. See Grimoire vs bookorbit side by side.
Features
- Audio library with global player and soundboard
- Book restrictions
- Campaign Management
- Character sheets
- Community add-ons
- Duplicate Detection
- Full-text PDF search
- Grimoire Codex DB
- Library browser
- Map gallery with UVTT editor
- OPDS Catalog
- OpenID Connect Authentication
- Page-by-page PDF viewer
- Token editor
Grimoire README
FAQ
Can I make the scroll wheel zoom instead of turning pages?
Yes, in Settings → Preferences → Reader → Scroll wheel, choose Zoom to make scrolling zoom in/out, or Nothing to disable scrolling behavior.
Every restart starts a long library scan
Grimoire scans on startup to pick up files added while down. Set STARTUP_SCAN=false to disable startup scanning; new files will still appear via file watching or manual rescan.
How do I configure OIDC with Google?
Create a Google Cloud OAuth client with the authorized redirect URI, then configure Grimoire with the Google issuer URL, client ID/secret, and RS256 signing algorithm. Use email matching with auto-register off for a personal library.
How do I configure OIDC with Authentik?
Create groups in Authentik (grimoire-admin, grimoire-gm, grimoire-player, nsfw), create custom scope mappings for groups and permissions, configure the OAuth2/OIDC provider with those scopes, then set up Grimoire with the issuer URL, client ID/secret, groups claim, and advanced permissions claim.
A folder is skipped by the scan, and the file manager shows � in its name
The folder name is not valid UTF-8 (often from Windows legacy code pages). Rename it on the share to valid UTF-8, then rescan.
I forgot my admin password. How do I reset it?
Run a one-liner inside the container to hash a new password and update the database directly.
Grimoire won't start and the log mentions SECRET_KEY
The SECRET_KEY is set to a known placeholder value. Either delete the SECRET_KEY line from your compose file to let Grimoire generate one, or set a custom random value with openssl rand -hex 32.
Do you collect telemetry data?
No. Grimoire is self-hosted and does not send any data to external services without direct user action.
More in Book Management
JeluJELU is a self-hosted, open-source book tracker for managing reading history, to-read lists, and book metadata with import/export, multi-user support, and a REST API.
KOllectorSelf-hosted Flask app that aggregates KOReader highlights from multiple devices via Syncthing, enriches metadata via Open Library, and exports to blog posts.
kompanionKOmpanion is a self-hosted, open-source backend for KOReader e-readers providing OPDS catalog, reading progress sync, and book statistics without a web reading interface.
librarrLibrarr is a self-hosted, open-source search and download manager for books, audiobooks, and manga. It searches multiple indexers and auto-imports into Calibre.
librislogSelf-hosted, open-source book tracking webapp with multi-user support, reading progress, statistics, ISBN scanning, and dashboard integrations.
LibrumA cross-platform, open-source e-book reader and library manager that syncs your books across devices and can be self-hosted with your own Librum-Server backend.
MyBibliothecaSelf-hosted library manager for organizing books and tracking reading progress with PostgreSQL database.
NeoDBOpen-source, self-hosted media tracker where you log books, films, music, games and podcasts, then share reviews to Mastodon and Bluesky via ActivityPub and ATProto.
rreading-glassesrreading-glasses is a self-hosted, open-source drop-in replacement for Readarr's defunct metadata service, fetching book data from Goodreads or Hardcover via Docker.
SakeSelf-hosted ebook library with web UI, KOReader sync, OPDS/WebDAV, and search from Anna's Archive, Open Library, Project Gutenberg.
syncyomiSelf-hosted, open-source server syncing manga reading progress across TachiyomiSY, Komikku, and Suwayomi-Server clients using Go and Vue with SQLite or PostgreSQL.
BiblioReadsBiblioReads is a self-hosted, open-source Goodreads front-end that scrapes book data without ads, tracking, or sign-up. Features dark mode and PWA support.










0 comments