Razzia is a straightforward and open-source quiz platform, allowing users to host it on their own server for smaller events.
Disclaimer: Razzia is an independent, open-source software project. It is not affiliated with, endorsed by, or sponsored by any third-party quiz platform or service. Any resemblance to other quiz platforms is purely incidental.
Requires Docker and Docker Compose.
The image is also available on GHCR:
ghcr.io/ralex91/razzia:latest.
- Create a
compose.yml:
services:
razzia:
image: ralex91/razzia:latest
ports:
- "3000:3000"
volumes:
- ./config:/app/config
env_file:
- .env- Create a
.envnext to it:
MANAGER_PASSWORD=your-password- Start it:
docker compose up -dOpen http://localhost:3000 to play and http://localhost:3000/manager to host a game.
Your quizzes and results are stored in ./config, created on first run with an example quiz. Edit them from your host, they persist across updates.
Without Compose
docker run -d \
-p 3000:3000 \
-e MANAGER_PASSWORD=your-password \
-v ./config:/app/config \
ralex91/razzia:latestRequires Node.js 24+ and pnpm 10.16+.
- Clone and install:
git clone https://github.com/Ralex91/Razzia.git
cd Razzia
pnpm install- Create your
.envand setMANAGER_PASSWORDin it.WEB_PORT(default3000) andSOCKET_PORT(default3001) are optional:
cp .env.example .env- Build and start:
pnpm build
pnpm startOpen http://localhost:3000 to play and http://localhost:3000/manager to host a game.
Want to work on the code? See CONTRIBUTING.md to run it in development mode.
- Configuration: environment variables and the
configfolder. - Quiz: creating and structuring quizzes.
- Branding: optional custom theming.
- Reverse Proxy: running behind Traefik, Nginx, Caddy, or another reverse proxy.
- WebSocket Protocol: build a custom client (e.g. an ESP32 physical buzzer).
- HTTP API: the
/apisurface — sessions, quiz and result CRUD, game creation.
Full index in docs/.
- Access the manager interface at http://localhost:3000/manager
- Enter the manager password (defined by
MANAGER_PASSWORD) - Share the game URL (http://localhost:3000) and room code with participants
- Wait for players to join
- Click the start button to begin the game
Contributions are welcome! Please read the CONTRIBUTING.md guide before submitting a pull request.
For bug reports or feature requests, please create an issue.


