Dungeon Map Revealer

by LQuartier

GitHub Readme.md


Deploy to Heroku


A web app for tabletop gaming to allow the game master to reveal areas of the game map to players.

Forked from https://github.com/apclary/dungeon-revealer, with Heroku deployment and basic auth for the DM added.

What the DM Sees

alt text

What the players see

alt text



Heroku is a platform-as-a-service that supports one-click deployments and has a free tier. You can sign up for an account, then click the button below to automatically deploy the app. It’s the easiest way to get started.

Deploy to Heroku


If you have Docker installed, you can launch this app like this:

docker run --rm -it -p 3000:3000 -e PASSWORD=dmpassword jonoster/dungeon-revealer

This is also a good way to serve it on a personal web server; either serve directly from the docker container, or put it behind a reverse proxy. An example Caddyfile for use with Caddy:

dndmaps.your-hostname.com {
    proxy /

In this case, you’d probably want to launch the docker image in daemon mode and only expose the port locally:

docker run -d -p -e PASSWORD=dmpassword jonoster/dungeon-revealer

You can also build the docker image yourself from the Dockerfile in this repo.


Once you’ve deployed the app, visit http://your-app-url.hostname.com/dm. Authenticate with username dm and the password you set up (pass by default), and then you’ll be prompted to upload an image file. Once you do, you can start drawing on it.

To clear areas of the map, click and draw on the map. If you clear too much, you can switch the brush to the "shroud brush" and restore some of the fog. Whenever you clear some of the map area and are ready to share it with the players, click "Send".

Now, you can send your players to http://your-app-url.hostname.com, and they’ll see only the part of the map you’ve revealed. What appears as a shadow to the DM will appear as pure blackness to players.

To replace the existing map with a new image file, click "New Map". Note that you can only have one map open at a time, and shrouded areas are reset when you change maps.