# quakejs-docker

> Self-hosted Quake 3 Arena server running in-browser via WebAssembly, with web admin console for maps, bots, players, and leaderboards in a single Docker image.

- **Category:** Game Servers
- **Latest version:** v1.0
- **Open source:** oss
- **Languages:** JavaScript
- **Platforms:** Docker Compose
- **Tags:** Gaming, Webassembly, Browser Game, Multiplayer, Game Server, Docker, Docker game server, Fps, Quake3, Quakejs, Quake, Emscripten

## Description

QuakeJS-Docker packages the QuakeJS project — a port of Quake 3 Arena to WebAssembly — into a hardened, multi-architecture Docker image. It serves the game, assets, WebSocket tunnel, and a full-featured admin console over a single HTTP port (default 8080). The console provides map uploads and installation from lvlworld.com, bot management, player kick/ban with real IP tracking behind reverse proxies, match presets (FFA, duel, TDM, CTF), persistent leaderboards, automatic daily backups, and optional Discord/Slack notifications when a player joins an empty server. Retail Quake 3 assets (pak0.pk3) can be supplied by the owner via upload or EXTRA_PAKS URL; the image ships only demo content. The container runs unprivileged, uses signed images for amd64 and arm64, and persists maps, passwords, and state in Docker volumes.

## Links

- [Homepage](https://github.com/treyyoder/quakejs-docker)
- [Docker](treyyoder/quakejs)
- [GitHub Repository](https://github.com/treyyoder/quakejs-docker)
- [Docker Hub](https://hub.docker.com/r/treyyoder/quakejs)

---
Source: https://selfhost.directory/project/quakejs-docker