Original 1993 DOOM shareware, playable in-browser via js-dos WebAssembly emulation.
1.4K
The original DOOM (1993) shareware episode, running entirely client-side in the browser via js-dos — a WebAssembly DOS emulator. This container is just a static file server (nginx); all game emulation happens in the player's browser, not on the server.
No VNC, no streaming, no persistent per-player backend process — just plain HTTP serving static assets (~20MB of JS/WASM runtime + a ~2MB game bundle).
docker run -d -p 8080:80 marcelomusza/mulzatech-doom
# open http://localhost:8080
Important: this image must be served with two specific response headers
for the WebAssembly emulator to work (Cross-Origin-Opener-Policy: same-origin
and Cross-Origin-Embedder-Policy: require-corp). The image's built-in nginx
config already sets these — if you put it behind your own reverse proxy,
make sure those headers survive.
nginx:1.31-alpine baseDOOM1.WAD + doom.exe — the official 1993 shareware release, episode 1
("Knee-Deep in the Dead"), which id Software has freely permitted
redistribution of since its original releaseBuilt from scratch as part of a public infrastructure/platform-engineering learning project — containerization, Terraform, CI/CD, and observability, all built and documented from the ground up.
Source, Dockerfile, and full write-up (including the exact bugs hit getting WASM audio/video working): github.com/marcelomusza/mulzatech-doom-azure (update once the repo is public)
Content type
Image
Digest
sha256:b8ce5f1f2…
Size
35.9 MB
Last updated
about 7 hours ago
docker pull marcelomusza/mulzatech-doom