Meta

Hello World: Building This Site

The first post — how this site was built with Astro, Tailwind CSS, Docker, and Cloudflare Tunnels, all served from my homelab.

#astro #docker #cloudflare #homelab

This is the first post on cube-oakley.com. Let me walk you through how this site is put together.

The Stack

This site is built with:

  • Astro — a static site generator that produces plain HTML/CSS/JS
  • Tailwind CSS — utility-first CSS framework
  • Docker — containerized deployment
  • Nginx — serves the static files
  • Cloudflare Tunnels — secure tunnel from my homelab to the internet

Why Not WordPress?

WordPress is great, but it’s everywhere. I wanted something I built myself, something that reflects the kind of work I do. Plus, a static site is:

  • Fast — no database queries, no server-side rendering
  • Secure — there’s nothing to exploit when you’re serving static files
  • Simple — easy to containerize, easy to move between systems

The Homelab Angle

The fun part: this site is hosted on my home server rack. Traffic hits Cloudflare, gets routed through an encrypted tunnel to a Docker container running on my Arch Linux server. No ports are open on my firewall.

Here’s a simplified version of the setup:

services:
  web:
    image: cube-oakley-web
    restart: unless-stopped

  tunnel:
    image: cloudflare/cloudflared
    command: tunnel run
    restart: unless-stopped

What’s Next

I’ll be writing about:

  • My homelab setup in detail
  • Projects I’m working on
  • AI and tech topics that catch my interest

Stay tuned.