[{"data":1,"prerenderedAt":336},["ShallowReactive",2],{"blog-posts":3},[4,120],{"id":5,"title":6,"body":7,"date":106,"description":107,"extension":108,"meta":109,"navigation":110,"path":111,"seo":112,"stem":113,"tags":114,"__hash__":119},"logbook\u002Flogbook\u002Fwhy-blog.md","Why Am I Starting a Blog in 2025?",{"type":8,"value":9,"toc":99},"minimark",[10,15,24,27,33,36,41,44,54,57,60,64,67,93,96],[11,12,14],"h1",{"id":13},"hello-world","Hello, World!",[16,17,18,19,23],"p",{},"Hi! My name is ",[20,21,22],"strong",{},"Bagus",". I’m a Web Developer working at an IT consulting company.",[16,25,26],{},"You might be wondering:",[28,29,30],"blockquote",{},[16,31,32],{},"“Why are you still starting a blog in 2025?”",[16,34,35],{},"Honestly... I’m not really sure either!",[37,38,40],"h3",{"id":39},"why-a-blog-instead-of-youtube","Why a blog instead of YouTube?",[16,42,43],{},"I’ve always wanted to start creating content on YouTube, but to be completely honest:",[45,46,47,51],"ul",{},[48,49,50],"li",{},"I’m still a bit too shy to show my face on camera (it feels so awkward!).",[48,52,53],{},"I feel like my English speaking skills aren't quite there yet.",[16,55,56],{},"So, for now, this blog will be my little corner of the internet.",[58,59],"hr",{},[37,61,63],{"id":62},"what-to-expect-here","What to expect here",[16,65,66],{},"This space is going to be a mix of everything from my daily life as a dev. Here, I plan to share:",[45,68,69,75,81,87],{},[48,70,71,74],{},[20,72,73],{},"The projects"," I’m actively working on.",[48,76,77,80],{},[20,78,79],{},"The environments"," and tools I use daily.",[48,82,83,86],{},[20,84,85],{},"The weird errors"," I run into (and how I fix them).",[48,88,89,92],{},[20,90,91],{},"The mistakes I make"," including the really dumb ones!",[16,94,95],{},"I hope anything I share here might be helpful or at least entertaining for fellow developers.",[16,97,98],{},"Thanks for stopping by, and I hope you enjoy what’s coming next!",{"title":100,"searchDepth":101,"depth":101,"links":102},"",2,[103,105],{"id":39,"depth":104,"text":40},3,{"id":62,"depth":104,"text":63},"2025-07-09","An introduction to my little corner of the internet, my journey as a web developer, and why I'm writing instead of making YouTube videos.","md",{},true,"\u002Flogbook\u002Fwhy-blog",{"title":6,"description":107},"logbook\u002Fwhy-blog",[115,116,117,118],"personal","web-development","writing","reflection","un6Bp0TFUxasF4WRBwXLruDN2r1lLnX383MwSbaSIkk",{"id":121,"title":122,"body":123,"date":323,"description":324,"extension":108,"meta":325,"navigation":110,"path":326,"seo":327,"stem":328,"tags":329,"__hash__":335},"logbook\u002Flogbook\u002Fmy-mini-arm-clusters.md","From Living Room Boxes to a Small Cluster: My $30 Homelab Setup",{"type":8,"value":124,"toc":317},[125,129,136,143,154,157,161,164,187,193,196,200,214,217,228,239,243,246,253,264,270,274,277,297,300,303,310],[11,126,128],{"id":127},"from-living-room-boxes-to-a-small-cluster","From Living Room Boxes to a Small Cluster",[16,130,131,132,135],{},"In Indonesia, internet subscriptions often come with a small device called a ",[20,133,134],{},"Set-Top Box (STB)",".\nIts original job is simple: receive IPTV and turn it into something you can watch on your TV.",[16,137,138,139,142],{},"But under the plastic case, many of these STBs are just ",[20,140,141],{},"ARM computers",".",[16,144,145,146,149,150,153],{},"The one I use runs on a ",[20,147,148],{},"Cortex-A53 CPU"," the same architecture used by the ",[20,151,152],{},"Raspberry Pi 3",".\nIt’s not fast, it’s not elegant, but it’s powerful enough to boot Linux and stay online 24\u002F7. Most of the time, these boxes end up unused, unplugged, or forgotten after the TV setup is done.",[16,155,156],{},"That felt like wasted potential.",[37,158,160],{"id":159},"my-normal-setup","My “Normal” Setup",[16,162,163],{},"Before touching clusters or Kubernetes, I already had a small home server:",[45,165,166,172,178],{},[48,167,168,171],{},[20,169,170],{},"Hardware:"," Raspberry Pi 4",[48,173,174,177],{},[20,175,176],{},"Software:"," Running a local web server",[48,179,180,183,184],{},[20,181,182],{},"Networking:"," Exposed safely to the internet using ",[20,185,186],{},"Cloudflare Tunnel",[16,188,189,190,142],{},"This setup worked well. It was stable, simple, and good enough for personal projects.\nBut it was also… ",[20,191,192],{},"just one machine",[16,194,195],{},"Every service lived on the same board. If it went down, everything went down.",[37,197,199],{"id":198},"curiosity-about-clusters","Curiosity About Clusters",[16,201,202,203,206,207,210,211,142],{},"At some point, I kept hearing the same words over and over: ",[20,204,205],{},"cluster",", ",[20,208,209],{},"Kubernetes",", and ",[20,212,213],{},"nodes",[16,215,216],{},"Most tutorials assumed you were using:",[45,218,219,222,225],{},[48,220,221],{},"Expensive enterprise servers",[48,223,224],{},"Used Built-in PC",[48,226,227],{},"Or at least multiple, ”expensive” Raspberry Pis",[16,229,230,231,235,236,142],{},"I didn’t want that. I wanted to ",[232,233,234],"em",{},"understand the concept",", not build a massive production-grade system. And most importantly, I wanted to do it ",[20,237,238],{},"cheaply",[37,240,242],{"id":241},"the-idea-reusing-stbs","The Idea: Reusing STBs",[16,244,245],{},"That’s when the STBs came back into the picture.",[16,247,248,249,252],{},"For around ",[20,250,251],{},"$10 per unit"," (approx. Rp 150.000), I could buy used IPTV boxes loaded with:",[45,254,255,258,261],{},[48,256,257],{},"ARM Cortex-A53 CPUs",[48,259,260],{},"Built-in Ethernet ports",[48,262,263],{},"Incredibly low power consumption",[16,265,266,267,142],{},"Three of them cost significantly less than a single new Raspberry Pi. So, I bought ",[20,268,269],{},"three STBs",[37,271,273],{"id":272},"the-final-shape","The Final Shape",[16,275,276],{},"I didn’t replace my Raspberry Pi. Instead, I gave it a brand new role:",[45,278,279,285,291],{},[48,280,281,284],{},[20,282,283],{},"Raspberry Pi 4"," → Master \u002F Control Plane",[48,286,287,290],{},[20,288,289],{},"3x STBs"," → Worker Nodes",[48,292,293,296],{},[20,294,295],{},"K3s"," → Lightweight Kubernetes distribution",[16,298,299],{},"The Pi stayed responsible for the \"brain\" of the cluster, while the STBs did the actual heavy lifting.",[16,301,302],{},"What started as e-waste TV hardware in someone’s living room became a small, real Kubernetes cluster quietly running in my network.",[16,304,305,306,309],{},"This wasn’t about raw performance. It wasn’t about corporate best practices. It was about ",[20,307,308],{},"learning by building",", using hardware that was never meant to do this in the first place.",[16,311,312,313,316],{},"The ",[232,314,315],{},"real"," challenges (and weird errors) came later.",{"title":100,"searchDepth":101,"depth":101,"links":318},[319,320,321,322],{"id":159,"depth":104,"text":160},{"id":198,"depth":104,"text":199},{"id":241,"depth":104,"text":242},{"id":272,"depth":104,"text":273},"2026-01-07","How I turned three cheap, forgotten IPTV Set-Top Boxes and a Raspberry Pi into a functional, lightweight Kubernetes (K3s) cluster.",{},"\u002Flogbook\u002Fmy-mini-arm-clusters",{"title":122,"description":324},"logbook\u002Fmy-mini-arm-clusters",[330,331,332,333,334],"homelab","kubernetes","k3s","armbian","linux","I1Fu_VWBYu4F1Rv4meqp_wbgc-p6xSTNFzLiMMNcg8w",1779188796661]