Containers for a personal site are not overkill
The usual objection to containerising a personal site is that it's a few static pages and a blog — you don't need orchestration for that. Which is true, and also not the point.
The thing a container buys you isn't scale. It's the ability to come back after six months, run one command, and have the site build exactly as it did before. Node will have moved on. A transitive dependency will have published a breaking patch. The native binary your CSS toolchain compiles to will have been rebuilt for an architecture you no longer own.
The part that actually bites
Toolchains that ship platform-specific native binaries are the interesting
failure. Install on a Mac and you get a darwin-arm64 build; the Linux
container needs linux-arm64-musl. Bind-mount your project directory into that
container without thinking, and the host's node_modules shadows the
container's — so the build fails looking for a module that was never installed
for its platform.
The fix is unglamorous: mask node_modules with a named volume, and keep it out
of the build context entirely. Two lines of configuration that will mean nothing
to you until the day they mean everything.