Getting This Site Off the Ground
How I built and deployed a personal site with OpenTofu and Ansible — without touching a server manually.
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