Table of Contents
1 · Spark of the idea
I’d wanted a homelab ever since YouTube kept recommending slick r/selfhosted tours, but three things held me back:
- Public internet – Indonesian ISPs love CG-NAT and blocked ports.
- Electricity – horror stories of spinning-rust NAS draining wallets.
- Hardware – I had nothing rack-mountable, and Raspberry Pis were scarce.
Then I remembered a dusty laptop with a cracked screen. A quick RAM+SSD upgrade later, I had a head-start test box. Suddenly cloud fees—paid monthly for sluggish, under-specced VMs—felt silly next to a machine I already owned.
2 · What I actually needed
- Back-ups & storage – cloud storage caps vanish fast on a student budget.
- Home-automation hub – Grafana dashboards for household power, Home-Assistant controlling a few relays.
- Unlimited sandbox – Docker, Kubernetes, n8n, CI jobs… things the cloud throttled.
- Total control – root access for everything and freedom to break stuff while learning.
3 · Hardware: from laptop to lean mini-PC
Component | Reason |
---|
Intel i5-10400 mini-PC | Better thermals & power draw than the battered laptop. |
32 GB RAM + 1 TB NVMe | Leaves headroom for VMs and ZFS cache. |
DIY UPS (car-battery mod) | ~8 hours uptime during PLN outages. |
MikroTik router | VLANs + fail-over WAN + easy QoS. |
Small footprint, low noise, ≈50–100 k IDR/month in electricity—acceptable for a 24/7 box.
4 · Network hurdles (and work-arounds)
- Tailscale → instant mesh VPN for remote SSH without port-forwarding.
- Cloudflare Tunnel → publish only the services that must be public.
- Warp fallback → bypass the odd ISP block while keeping most traffic private.
5 · Software stack
- Proxmox VE as the base layer (web UI beats endless
virsh
commands). - Docker & k3s inside VMs for “I know it’s overkill, but it’s just R&D”.
- Daily drivers:
PostgreSQL
, n8n
, Pi-hole
, Nextcloud
, MinIO
, Redis
, Jenkins
, OpenWebUI
, Grafana + Prometheus
, Nginx-Proxy-Manager
, Uptime-Kuma
, even a Minecraft server for weekend nostalgia.
Monitoring first—because what you can’t see will eventually bite you.
6 · Wins & headaches
Best moments
- First Proxmox install booting flawlessly on that old laptop.
- Seeing Grafana light up with real-time power draw from my ESP32 + PZEM004T.
- Dropping a brand-new VM in 60 s instead of opening a credit-card form.
Biggest challenges
- ISP quirks: CG-NAT punched by Tailscale, selective port blocks dodged with Warp.
- Network routing rabbit holes—double-NAT, split DNS, SSL for internal hostnames.
- Keeping cool literally and financially; undervolting and shutting down idle VMs became routine.
7 · Costs & efficiency
Cloud invoice: ₿$$$ for sluggish VMs.
Home-server power: ≈ 50–100 k IDR/month (monitored via InfluxDB).
Turning off unused VMs + HDD spin-down keeps the bill sane.
8 · Lessons I wish I’d known earlier
- Start small. One reliable box beats a half-finished cluster.
- Monitor everything from day one; troubleshooting blind is torture.
- Automate power protection—UPS + graceful shutdown scripts save headaches.
9 · What’s next
- Full Kubernetes cluster experiments.
- Database replication playgrounds.
- Hosting an AI stack (Llama et al.) inside the homelab object storage.
10 · Try it yourself
Have an old PC collecting dust? Grab a USB stick, flash Proxmox (or Ubuntu, or UnRAID), and spin up a service you’ve always wanted to self-host. The learning beats any certification course—and you control every byte.