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. All three tiers are live: the family tier (Jellyfin, Nextcloud, Jellyseerr request portal with Jellyfin SSO, Immich photo backup, media automation with a self-healing watchdog) after a zero-downtime cutover; the core-infra tier — self-hosted DNS, reverse proxy, Prometheus/Grafana/Loki observability with live email alerting, and GitLab CE; and the lab tier — a 3-node K3s cluster with ArgoCD, commit-to-deploy proven end to end. A self-hosted GitLab Runner gates every push with three parallel checks. VLAN segmentation is rolling out zone by zone, and the first timed teardown drill is next. If it isn't in git, it doesn't exist.
Traffic enters through a Cloudflare Tunnel (no open ports) to three public apps — Jellyfin, Nextcloud, and Jellyseerr (Jellyfin SSO, requests need approval); every admin plane, including Immich's photo backup, is Tailscale-only. All three tiers are clustered and live: k8plus (family-prod — Jellyfin, Nextcloud, Jellyseerr, Immich), g11 (core-infra — DNS, reverse proxy, Prometheus/Grafana/Loki with email alerting, GitLab CE, and a GitLab Runner gating every push), and the MacBook (lab — a 3-node K3s cluster with ArgoCD, commit-to-deploy proven end to end). A MikroTik managed switch is in place, with VLAN segmentation rolling out zone by zone and a JetKVM for out-of-band console.
A 10-inch rack — printed by me, designed by the MakerWorld community. Small enough for a desk, rigid enough to hold real hardware: this is where the rest of this page actually runs. The third node, the MacBook Pro, sits right on top.
Printed from KWS Rack V2, MikroTik rack ears, GMKtec rack mount, and a universal rack shelf — all open designs on MakerWorld.
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. 11