PlanarAlly is a self hosted virtual tabletop where a game master and players share a live battle map in the browser, with tokens, fog of war, dice and initiative.
PlanarAlly is an open source virtual tabletop (VTT) for playing tabletop role playing games online. Everyone joins the same campaign in a browser and works on a shared map: the game master drags in tokens, draws walls and reveals the map as the party explores, while per token vision and fog of war control exactly what each player can see. Sessions include an initiative tracker with effects, a dice roller with custom expressions, in session chat, notes and custom shape data for lightweight character sheets, plus an asset manager for your own maps and artwork. Campaigns can be exported and imported, and every action is synchronised live between all connected players over websockets. The application ships empty: no rulesets, maps, tokens or artwork from any published game system are included, so you bring your own content.
The cloudimg image is a complete, ready to play deployment rather than a build project. The Vue client is already compiled into the image, so there is nothing to build on the instance, and nginx is pre-configured as a reverse proxy with correct websocket forwarding, which is what makes live session sync work at all. The application binds only to loopback and nothing is published until first boot completes. No credential ships in the image: the datastore that holds the session signing secret and the API token is created on your instance at first boot, and a unique administrator password is generated there and written to a root only file. Self registration is closed by default, with a documented one line opt in. Usage telemetry is off by default. systemd keeps the services running, a paired deployment guide walks through the first session end to end, and 24/7 cloudimg support is included.
Real screenshots taken while testing this image against its deployment guide.