Lee Teong Hoe — full-stack developer & DevOps engineer
I build and operate production web systems — from the code down to the servers. 162 containers across three self-managed hosts run client sites, a mail platform, CI/CD, workflow automation and this blog. I write up what broke, what the evidence said, and how I fixed it.
103 posts in English and 中文 · RSS
Featured
Running Production Infrastructure Solo: 162 Containers Across Three Hosts
One operator, three hosts, 162 containers in 78 compose stacks — Traefik, SSO, monitoring, mail, CI/CD and backups — and the two failures that changed how I verify my own numbers.
Read case study →Loop Engineering Without a Coding Agent: The 11 Cron Jobs That Run My Infrastructure
Loop engineering is 2026's term for designing the system that prompts and checks an agent. I applied it to self-hosted infrastructure, not a codebase: 11 cron jobs, 8 with no AI at all.
Read case study →One Prometheus for unRaid, a Synology NAS, and a VPS: What I Got Wrong
Three hosts, one Prometheus, one Grafana. The coverage matrix, the storage total that counted one NAS volume three times, and the VM that exports no CPU frequency at all.
Read case study →Self-Healing Access Control for Digital Goods: NocoDB, n8n, and AList
How I built a five-workflow entitlement system that grants, expires, and continuously repairs customer file access — with a build-time code-sharing trick and a public endpoint designed to leak nothing.
Read case study →Latest engineering & DevOps posts
-
When a Self-Hosted Model Gateway Tripped Trust & Safety: Six Seats, Nine Seconds
A post-mortem of consolidating subscription seats behind one OpenAI-compatible gateway: the OAuth client boundary that was crossed, the cluster block that followed nine seconds later, and the task-dispatch architecture that replaced it.
-
The 5-Second Downtime Myth: Why Shrinking a 40TB Btrfs Volume on Enterprise NAS Will Destroy Your Data
Why online filesystem resize advice fails on tiered storage: dissecting the deadly race condition between LVM lvreduce, flashcache write-back caching, and Btrfs metadata b-trees.
-
Tracking Down 14 MB/s Ghost Uploads Across a 2.5GbE NAS Interconnect: The Media Server Trickplay Trap
How a multi-homed network delta audit traced a persistent 14 MB/s upload leak on a production Synology NAS to automated Jellyfin trickplay extraction over SMB.
-
Beyond FFmpeg Presets: Five Automated Quality Gates for Transcode Pipelines
How a deterministic pipeline of five automated validation gates (PTS-aligned SSIM >= 0.995, demux damage scan, unbuffered SHA-256 readback) eliminated corrupt video outputs at scale.
-
When a Proxy Timeout Returns HTML Instead of JSON: A 499 Post-Mortem
Why a self-hosted admin card failed with 'Unexpected token <': an O(n) library audit running inside a GET request, three reverse-proxy hops, and the 499 status no monitor watches — measured from 13.6 s on an idle box to 2,507 s on a busy one.
-
When Lowering CRF Does Nothing: The -maxrate Ceiling and the SSIM Quality Deadlock
Why dropping CRF by five steps improved SSIM by only 0.00003: discovering the mathematical conflict between -maxrate bitrate ceilings and quality gates in high-throughput video re-encoding.
Local GPU & Multimodal Pipelines (RTX 3060 Lab)
High-throughput audio synthesis, forced-alignment subtitling, and diffusion workflows running on our self-hosted GPU node.
Generating Full-Length Songs with YuE2 BF16: Overcoming Duration Limits and Audio Truncation
AI music tools cut off complex tracks mid-sentence. Here is how I solved the 240s duration wall using YuE2 BF16, 295s headroom budgeting, and a 60-song pipeline.
From Audio to a 4-Minute Music Video: Orchestrating Gemini, AI Diffusion, and Filmora Editing
A complete production breakdown of building a 4-minute 1080p anime OP music video (Crescent Bay): AI music generation, Gemini storyboard prompting, iterative image-to-video rerolls, and Filmora VFX editing.
Generating Subtitles for Songs That Ship Without Timestamps
AI music tools give you audio and nothing else — no line timings, no karaoke. Here is the pipeline I use to produce LRC and SRT subtitles for 18 songs, why plain transcription fails, and the two bugs that made the lyrics box scroll to the bottom.
