A self-hostable web tool for running virtual battlemaps with dynamic lighting, player vision and fog for tabletop RPG sessions.
hunter-read/grimoire
A self-hosted web app that indexes your tabletop RPG PDFs, maps, tokens, audio and models into one searchable library.
Open-source alternative to:Calibre
- Stars
- 324
- Forks
- 19
- Open issues
- 22
- Last commit
- 12 hours ago
What is it?
Grimoire is a self-hosted library manager for tabletop RPG material. You point it at a folder of PDFs, maps, tokens, audio files and 3D models, and it organizes them by game system and category, with full-text search across every page of every book, including scanned pages through OCR.
It runs as a Docker container against an existing directory and does not write to that directory by default. Users can read books page by page in a browser or on a phone, keep bookmarks and favourites, and connect e-reader apps through an OPDS feed.
For game masters, it adds campaign tracking, a markdown notes wiki, a map gallery with a Universal VTT editor, a token editor, a soundboard, and role-based restrictions that hide certain books from players.
Key features
- 01Organizes PDFs, maps, tokens, audio and models by game system from the folder structure.
- 02Full-text search across every page of every PDF, with OCR for scanned books.
- 03Page-by-page reader with bookmarks, favourites and an OPDS feed for e-reader apps.
- 04Map gallery with a UVTT editor for walls, doors and lights.
- 05Token editor and a soundboard for audio playback at the table.
- 06Campaign tracking with a markdown wiki and role-based content restrictions.
Use cases
- Searching a large collection of RPG PDFs from a phone or tablet during a session.
- Hosting a shared game library on a home NAS or server instead of a third-party service.
- Organizing maps, tokens and handouts for a campaign in one place.
- Hiding spoiler books or adventures from players while keeping them available to the GM.
Quick start
- 1
Organize your library folder into the README's structure
- 2
Copy the default Docker Compose file and set your volume paths
cp docs/docker/docker-compose.yml docker-compose.yml - 3
Start the container with Docker Compose
docker compose up -d
Things to know
- Licensed under GPL-3.0, a copyleft license that requires derivative works to be open source under the same terms.
- Needs Docker and a machine to self-host it on, so setup takes some effort.
In collections
Topics
FAQ
- What is grimoire?
- A self-hosted web app that indexes your tabletop RPG PDFs, maps, tokens, audio and models into one searchable library. Grimoire is a self-hosted library manager for tabletop RPG material. You point it at a folder of PDFs, maps, tokens, audio files and 3D models, and it organizes them by game system and category, with full-text search across every page of every book, including scanned pages through OCR.
- Is grimoire free to use? What license does it have?
- grimoire is open source under the GPL-3.0 license. Check the license terms before using it in commercial products.
- Is grimoire still maintained?
- Actively maintained. The last commit to grimoire was on Nov 5, 2026.
- What can I use grimoire for?
- Searching a large collection of RPG PDFs from a phone or tablet during a session. Hosting a shared game library on a home NAS or server instead of a third-party service. Organizing maps, tokens and handouts for a campaign in one place. Hiding spoiler books or adventures from players while keeping them available to the GM.
- How do I install grimoire?
- Organize your library folder into the README's structure Copy the default Docker Compose file and set your volume paths: cp docs/docker/docker-compose.yml docker-compose.yml Start the container with Docker Compose: docker compose up -d
- Where can I get grimoire?
- The source code and installation instructions are on GitHub: https://github.com/hunter-read/grimoire
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A self-hosted library manager and reading tracker for organizing books, logging reading sessions, and tracking progress.
Self-hosted newsletter and mailing list manager shipped as a single Go binary, backed by PostgreSQL.
Open source ad serving system for publishers to serve, manage, and track advertising campaigns on their websites.
Papra is a minimalistic, self-hostable document management and archiving platform for long-term storage of personal and shared documents.
Agentic RAG tool that answers questions over scientific papers and other documents, returning answers with in-text citations.