Hello World!
Hello, world! Welcome to my blog. I'm a backend engineer, and this is my first post — a quick look at how I set up this site using Zola and Cloudflare Pages.
Why Zola?
As a backend engineer, I spend most of my time working with APIs, databases, and distributed systems — not frontend tooling. The last time I touched React or Javascript was probably 6 years ago. When I decided to start a blog, I wanted something that could get out of my way and just let me write.
Zola checked every box. It's a single binary written in Rust. You download it, run zola build, and you get a folder of static HTML. It's like Hugo, but Rust.
Coming from a backend background, I appreciate that Zola's templating language (Tera) feels familiar if you've ever used Jinja2 or similar. The content is just Markdown with TOML front matter. The mental model is simple: write Markdown, pick a theme, build, deploy.
Why Cloudflare Pages?
For hosting, I wanted something free, fast, and low-maintenance. Cloudflare Pages fits perfectly:
- Git-integrated deploys — push to
mainand the site is live within seconds. - Global CDN — the site is served from Cloudflare's edge network, so it's fast everywhere.
- Free tier — generous enough that I'll likely never pay a cent for a personal blog.
- Custom domains — simple DNS setup since I'm already using Cloudflare for DNS.
The setup was straightforward: connect the GitHub repo, set the build command to zola build, the output directory to public, and the ZOLA_VERSION environment variable. That's it. No CI/CD pipelines to configure, no Docker containers, no infrastructure to manage.
The catch
For some reason, I kept getting zola not found error in CloudFlare Pages deployment, even though it was already using the Zola framework preset.
The solution was to add a UNSTABLE_PRE_BUILD env var with the value
asdf plugin add zola https://github.com/salasrod/asdf-zola && asdf install zola latest && asdf global zola latest
I found the tip thanks to Zola official documentation here.
More posts to come. Thanks for reading.