Welcome to my new personal blog!

I recently decided to move my personal website onto a small Oracle Cloud ARM VM. Since it's a lightweight box, I wanted to keep the resource footprint as small as possible while still maintaining a premium-looking design and good load speeds.

The Architecture

The entire stack is simple and built with modern, lightweight tools:

  1. Zola: A fast static site generator written in Rust. It compiles Markdown files into static HTML/CSS locally on my machine.
  2. Caddy: A performant web server running on the Oracle VM that serves the static assets and automatically provisions SSL certificates via Let's Encrypt.
  3. rsync: A simple shell script that runs zola build locally and synchronizes the output directory directly to the VM over SSH.

Why Zola?

Zola is a single Rust binary, making it extremely easy to run. It has everything built-in (syntax highlighting, Sass compilation, search, taxomomies) without having to manage a massive node_modules directory or deal with NPM dependency churn.

Here is an example of code syntax highlighting in Zola:

# Run the local development server
zola serve

Why Caddy?

Unlike Nginx, which requires installing and configuring certbot for Let's Encrypt renewals, Caddy handles HTTPS automatically. A simple three-line config file is all it takes:

chicagobuss.dev {
    root * /var/www/chicagobussdev
    file_server
}

Stay tuned for more posts on system admin, container orchestration, and personal projects!