This site
The site you're on: a static build served from my own hardware, with a 3D diagram of the setup behind it, and no framework runtime in the browser.
Deployment
Write
Astro 5, TypeScript
Git, pushed to main
Compile
Docker multi-stage
Node 22 builds static HTML
Host
nginx:alpine, no Node at runtime
Cloudflare Origin Certificate
Protect
Cloudflare proxy
Origin accepts Cloudflare only
Why static
Every page is built to plain HTML ahead of time, so the container that serves it holds files and nginx and nothing else: no application runtime, no database, no login. The 3D library is only downloaded when someone opens the setup diagram.
The origin only accepts connections from Cloudflare's published address ranges, so scans aimed directly at the server's address are rejected before they reach the site. Content-hashed assets are cached for a year; the pages themselves are not.
Visitors who prefer reduced motion get the typed titles and button effects switched off, and screen readers get each title in full rather than letter by letter.