← Back to blog

Setting Up a VPS From Scratch

Starting From Nothing

I repurposed a VPS that was previously running OpenClaw. Tore it all down, reinstalled Ubuntu 24.04, and started fresh. Four cores, 16 gigs of RAM, and about 200 gigs of disk. No plan, just a blank machine and the urge to build something.

The first thing I always do with a new box is just stare at the terminal for a minute. There’s something about a completely blank server that feels like a fresh notebook. You don’t want to mess it up, but you also know you’re gonna mess it up eventually, so you might as well start.

Getting the Essentials On

Node, Docker, GitHub CLI. That was it. Took maybe ten minutes to get everything installed and authenticated.

Why Self-Host a Blog

I could’ve thrown this site on Vercel and been done in five minutes. But the whole point of having a VPS is to own the stack. I wanted to know exactly what’s running and where.

The setup I landed on is dead simple:

  • Astro takes markdown files and builds them into static HTML
  • Caddy serves those files and handles SSL automatically through Let’s Encrypt
  • The whole thing is wrapped in Docker, so deploying is just docker compose up --build -d

The site rebuilds in under 10 seconds. The Docker image is about 50MB. Caddy provisions HTTPS certificates on its own without me touching a config file. I don’t have a database, I don’t have a backend, I don’t have a build pipeline. I write a markdown file, push it, and rebuild the container. That’s the whole workflow.

What’s Next

Honestly, I don’t know. I have a handful of domains and a bunch of half-started projects. Maybe I’ll write about worldbuilding. Maybe I’ll write about security. Maybe I’ll build something weird and write about that.

The point of having your own corner of the internet is that you don’t need a roadmap. You just need to start.