I’m undeniably an OCD kind of guy and a control freak by definition. Why else would I abandon the easiness of WordPress.com for hosting this blog on my own (backed-up, d’oh) LXC container on some random machine?! For control.
It’s 00:00 midnight and I’m writing this after a full week of migrating off-cloud to my own machine. I’ve recently found out about Proxmox VE, a mostly Debian-based virtualization engine based on KVM/qemu and LXC and since I’m a Debian fan, I quite jumped-in on the fact that it could be what I was potentially looking for.
For the past months I’ve been trying to put an old i7/32GB of RAM machine of mine to work. Since I have a growing kid and not much of time, I wanted something dead-easy for a homelab slash DIY/Wordpress hosting slash CI/CD machine with an Nexus (binary artifact repository) slash anything that can run in isolation. So I went off, bought 3 Western Digital HDDs, installed the Proxmox ISO making myself an RAIDZ ZFS-backed array for the upcoming VMs or containers and there you go.
Looking into Proxmox, I found a good balance of everything:
- Proxmox VE as the KVM/qemu or LXC engine;
- TurnKey Linux, Core + Appliance Templates for most of my needs;
- very easy LXC templates on Debian 9/10;
- an Ansible way of scripting it, where I found everything I needed through “pvesh” commands (including checks to allow for idempotent execution of the pipeliens);
- an CI/CD based on Go.CD running both Maven CI of my applications and CD with Ansible to deploy them;
- an OpenLDAP integrated with Nexus 3 and Go.CD to allow centralized user management;
- an Mattermost for my conversations with the family (we’re an atypical bunch);
- an HAproxy with Let’s Encrypt DNS challenge to pipe everything right;
- an No-IP wildcard DNS configured to send everything to my router from where HAproxy does the later magic;
- instant *.kitops.ddns.me domains such as the blog you’re reading now (for which I’m still waiting for the c0de.guru domain transfer off of WordPress)
It is true that it took me an week and it is true that I have not automated everything but if I were to have all of the above services on a cloud it would’ve costed me a fortune. With TKL backup however, with scheduled Proxmox backups off-machine and an RAIDZ there to keep things in order, even if the system would fail there would be a quick way for me to retrieve the applications running.
I don’t believe I’m saying this. But I’m happy to move off-cloud.