Repolode
hunter-read

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. 1

    Organize your library folder into the README's structure

  2. 2

    Copy the default Docker Compose file and set your volume paths

    cp docs/docker/docker-compose.yml docker-compose.yml
  3. 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

#ttrpg#self-hosted#pdf#library#search#docker#campaign-management#virtual-tabletop

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