← back to posts

Getting This Site Off the Ground

How I built and deployed a personal site with OpenTofu and Ansible — without touching a server manually.

2026-06-28Projects

Building a personal site always ends up being more involved than expected. Since I love automation and have long wanted to create my own space, why not give it a try?

The Style

The colour scheme is deliberately monochrome-green: readable, professional, slightly matrix-flavoured.

Infrastructure

The VM is provisioned end-to-end by pipeline — First a Linux template is build and then OpenTofu clones it into a VM, cloud-init configures the network and SSH keys, and Ansible installs the rest of the packages. No manual SSH required.

# Trigger from Forgejo Actions
action: apply      # create the VM via OpenTofu
action: provision  # Configuration management
action: deploy staging # Build and deploy the App stack to staging
action: deploy production # Deploy the App to production

The Deploy Flow

Every push to main that touches app code the pipeline is triggered and will build and deploy into staging.

Production is a separate manual trigger that promotes a staging image tag.

What's Next

More posts on the tooling, the pipeline, and whatever I'm building next.

$ cat comments.log(0)

// no comments yet — be the first

$ add comment