I have never learned a system properly from a book. Reading about how something behaves tells you what happened to somebody else. Running it yourself under pressure tells you what happens at three in the morning when a certificate expires and nobody is awake to help. So I put myself in the position of having to know.
This page, and every project I built for myself, runs on infrastructure I own and operate myself. I chose the machine, I built what sits on top of it, and I am the one who gets called when it stops. Nobody handed me a working environment to develop inside. When something breaks here it breaks because of a decision I made, and I have to understand it well enough to put it right.
That is the whole point of doing it this way. Theory tells you a system should work. Operating one for real teaches you the ways it fails, what it costs to keep available, and which shortcuts you pay for later. Everything I know about running software in production, I learned by being the person responsible for it.
Concretely: a single Linux server running Kubernetes behind a reverse proxy, each site in its own network with an egress fence and no route to the control plane, certificates and deployments handled automatically on every commit, and metrics and alerting I read myself.