Manage Proxmox VMs with Terraform

Manage Proxmox VMs with Terraform
I’m continuing my journey toward a fully immutable home lab. I’ve lived with the changes that I have been experimenting around with for about a year now and so far its been great. Definitely a couple of hiccups along the way but way less time troubleshooting specific issues that occasionally crop up from time to time and more time enjoying the joys of automation at home. This post will go through what Terraform is and using Terraform to manage Proxmox VMs automatically.

Create VM Templates within Proxmox with Packer

Create VM Templates within Proxmox with Packer
The last few months I’ve made it a goal to remove manual steps in my home lab’s setup and really embrace the idea of immutable infrastructure. No more servers laying around which are constantly logged into for making major changes. If something isn’t working then delete the whole server immediately and reprovision it with minimal steps. I’m writing all of this down as sort of a tutorial, not to follow from end to end, but to gain inspiration for what is truly possible in a home lab environment with some off the shelf tools.

Managing my dotfiles with Nix

Managing my dotfiles with Nix
There have been more than a few cases where people suggest various tools to manage my dotfiles for me. Nix is one of the more recent ones and it intrigued me after learning a bit more about how it approaches handling its packages. See, everything in Nix is built to be declarative and immutable by design, all the way down to the libraries backing the tools you would use in your day-to-day work.

Run Home Assistant With Nomad

Run Home Assistant With Nomad
I often use the projects around my home to toy around with new to me technology. Now I’ve been playing around with running a whole assortment of services for myself all the way from Plex, a media server, to Vaultwarden, a self hosted password manager based on Bitwarden. All of this was running within a bunch of docker compose files and the fact that this meant that all these services relied on a single machine being up and connected to the internet really didn’t sit right with me.