All field notes

I Learned DevOps From a Computer I Already Had

An old PC became a practical classroom for learning what deployment, networking and recovery mean outside a tutorial.

01

The diagram was not enough.

DevOps is easy to understand as a diagram. There is a repository, a pipeline, an image registry and a server. A deployment moves from one box to another. Monitoring watches the result.

The diagram is useful, but it hides the feeling of operating the system. I needed a place where the invisible parts became unavoidable.

That place was an old computer at home.

02

The homelab made the services visible.

It was not chosen because it looked like a serious production environment. It was useful because it was available, limited and close enough to touch.

Ubuntu, Docker and Compose turned the API, frontend, database, cache and supporting tools into processes with ports, volumes, health checks and failure modes. A GitHub Actions workflow could build the application and move it toward the lab. A self-hosted runner made the environment part of the delivery path.

A Cloudflare Tunnel helped reach services without relying on inbound port forwarding, which mattered because the local connection was behind CGNAT.

03

Each tool solved one problem.

The tunnel helped with access. It did not provide backups. Containers made services reproducible. They did not make data safe. A pipeline could move an image. It did not prove that the application would start correctly.

Monitoring could show a failure. It could not decide what the failure meant.

The work became a series of questions: what happens after a reboot, where does the data live, which service is allowed to reach which database, and can the previous version be restored?

04

A lab is a rehearsal, not a guarantee.

The homelab taught operations and made deployment repeatable enough to rehearse. It also made the limits visible. It could not reproduce real public traffic, remove the risk of a single production host or turn a home network into a highly available platform.

That limitation was part of the lesson. The lab eventually informed a more structured production platform, where the same concerns followed the work: isolated application services, controlled public access, repeatable images, backups and rollback paths.

The real value of the old computer was that it refused to let infrastructure remain theoretical.