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:
- Zola: A fast static site generator written in Rust. It compiles Markdown files into static HTML/CSS locally on my machine.
- Caddy: A performant web server running on the Oracle VM that serves the static assets and automatically provisions SSL certificates via Let's Encrypt.
- rsync: A simple shell script that runs
zola buildlocally 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 serveWhy 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!