infrastructureself-hostingdevops

Why I Self-Host Everything

Cloud hosting is convenient, but running your own server teaches you things no managed service ever will. Here's why I do it.

Cooper Howling

Every website I run — including this one — lives on a single Ubuntu server sitting in my home. No AWS, no Vercel, no Netlify. Just a box, an internet connection, and Cloudflare Tunnel.

People ask me why. Here’s the honest answer.

You Learn the Full Stack

When something breaks at 2am, there’s no support ticket to file. You debug nginx configs, read systemd journal logs, and figure out why that Node.js process is eating memory. This is the kind of knowledge that makes you a better architect — you understand what’s actually happening under the abstractions.

It’s Cheaper Than You Think

A decent mini PC costs less than a year of cloud hosting for multiple sites. My server runs:

  • howlingglobal.com — Astro SSR on Node.js
  • calgaryhomeestimate.com — FastAPI + React

Total monthly cost: electricity. That’s it.

Cloudflare Tunnel Changes Everything

The old argument against self-hosting was “you’re exposing your home IP.” Cloudflare Tunnel eliminates that entirely. The server makes an outbound-only connection to Cloudflare’s edge — zero public ports, zero port forwarding, zero risk of direct attacks.

Traffic flow:

User → Cloudflare CDN (SSL, WAF, DDoS protection)
     → Cloudflare Tunnel (outbound connection from server)
     → nginx on localhost
     → Application

You get enterprise-grade security for free.

The Setup Is Simpler Than You’d Expect

My entire deployment workflow:

  1. Write code on my MacBook
  2. git push
  3. SSH into server, git pull && npm run build
  4. sudo systemctl restart howling-global

That’s it. No CI/CD pipeline, no Docker registry, no Kubernetes cluster. Just git and systemd.

When NOT to Self-Host

Self-hosting isn’t for everything. If you need:

  • Global edge distribution — use a CDN or edge platform
  • Auto-scaling — cloud is the right call
  • SLA guarantees — your home internet will go down occasionally
  • Team collaboration — managed platforms reduce friction

For personal projects and small business sites? Self-hosting is hard to beat.

The Bottom Line

Self-hosting forces you to understand every layer of the stack. That understanding makes you better at designing systems — whether they run on your home server or across three AWS regions.

If you’re an IT professional who hasn’t set up a server from scratch, I’d strongly recommend it. The lessons stick.