← Back to Blog

Mar 2026

How I built a full DevOps platform in my homelab

Summary

From DNS and HTTPS to CI/CD and containerized services, this is the practical blueprint of my home platform.

Tools Required

Docker + Docker ComposeTraefikGitHub ActionsCloudflare DNSOCI VM

Blog Post

I started by designing for parity: local Docker Compose should mirror production behavior as much as possible. That way, every config improvement in development directly benefits production stability.

At the edge, I used Traefik to handle host-based routing and TLS. This lets each service stay focused on app logic while ingress and certificates are managed centrally.

For deployment, GitHub Actions builds and publishes frontend/backend images, then updates the VM over SSH. The workflow injects deployment-time environment values so domains and image tags stay consistent and traceable.

The biggest lesson was to treat infrastructure as product code: small changes, visible logs, and explicit rollback paths. That discipline made troubleshooting much faster when certificate and routing issues appeared.

Lessons Learned

  • Local/prod parity reduces deployment surprises.
  • Centralized ingress is easier to secure and reason about.
  • Observability + clear rollback beats guesswork under pressure.