Sign inSign up

marcelomusza/mulzatech-doom

By marcelomusza

•Updated about 7 hours ago

Original 1993 DOOM shareware, playable in-browser via js-dos WebAssembly emulation.

Image
Web servers
0

1.4K

marcelomusza/mulzatech-doom repository overview

⁠MulzaTech DOOM

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).

⁠Quick start

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.

⁠What's inside

  • nginx:1.31-alpine base
  • The js-dos v8 runtime, self-hosted (not loaded from a CDN)
  • DOOM1.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 release

⁠Source

Built 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)

⁠Credits

  • id Software⁠ — DOOM, and for releasing the shareware episode for free redistribution back in 1993
  • js-dos⁠ — the WebAssembly DOSBox port that makes this possible in a browser at all

Tag summary

Content type

Image

Digest

sha256:b8ce5f1f2…

Size

35.9 MB

Last updated

about 7 hours ago

docker pull marcelomusza/mulzatech-doom