fix(infra): rename self-hosted stack, bound build hashing, align toolchain

- Rename the campus stack, scripts, env vars, and docs to self-hosted.
- Hash only the Dockerfile.dockerignore allowlist instead of walking the
  whole checkout before applying ignores.
- Emit `-p <port>` and quote arguments in the printed SSH tunnel command,
  and require an ssh:// Docker host URL.
- Pin Bun 1.3.11 and Node 24.18.1 in package.json, .node-version files,
  shell.nix, and CI.
- Add infra unit tests and run them in CI.
- Lead the operations docs with setup steps; move internals to
  architecture docs and drop real host names.
dff26e13a2flamboh committed on 9/28/2026, 9:49:16 PMparent2c079d4
19 files changedLine totals unavailable