Solutions Engineer → DevOps
runs a family media platform and a DevOps lab off three machines in the same rack.
Building a 3-node Proxmox homelab, GitOps pipelines, and infrastructure-as-code. Solutions Engineer by day, DevOps by night.
Collection · pg. 02
Currently a Solutions Engineer in Hong Kong, building homelab-infra on the side — a 3-node Proxmox cluster that's both my family's private cloud and a production-grade DevOps playground: Terraform, Ansible, K3s, ArgoCD, and CI/CD, all as code.
"Live like no one else today, so that you can live like no one else tomorrow." — Dave Ramsey
Collection · pg. 03
Collection · pg. 04
A 3-node Proxmox cluster, built in public — a family media platform and a DevOps playground, everything as code. Phases 1–2 are live: the family tier (Jellyfin, Nextcloud, media automation) after a zero-downtime cutover, and the core-infra tier — self-hosted DNS, reverse proxy, Prometheus/Grafana/Loki observability, and GitLab CE. Managed VLAN segmentation is in progress; the disposable K3s lab — torn down and rebuilt monthly — is next. If it isn't in git, it doesn't exist.
Traffic enters through a Cloudflare Tunnel (no open ports) to Jellyfin and Nextcloud — the only public services; every admin plane is Tailscale-only. All three nodes are clustered: k8plus (family-prod), g11 (core-infra — DNS, reverse proxy, Prometheus/Grafana/Loki, GitLab), and the MacBook (disposable K3s lab — next). A MikroTik managed switch is in place for VLAN segmentation, with a JetKVM for out-of-band console.
One git push travels through CI, security scanning (Trivy),
and ArgoCD to a live Kubernetes rollout — recorded end to end.
Grafana Fleet Overview (system health) and a public Uptime Kuma status page (service uptime) are both live — real infra, watchable in real time.
./demo.sh up stands up a mini k3s lab on AWS spot in ~4
minutes and prints a live URL; ./demo.sh down tears it down —
a few cents per run, nothing left behind.
Collection · pg. 10