Home

Kenny's Blog

05 Nov 2022

My homelab's stack

Here’s a list of homelab’s stack (running list):

  • saltstack
  • prometheus
  • prometheus-node-exporter
  • prometheus-systemd-exporter
  • alertmanager
  • grafana
  • debian
  • docker-compose
  • systemd
  • postgres
  • nomad
  • kvm
  • libvirt
  • lxc
  • terraform
  • sflow
  • watchtower
  • wireguard
  • homeassistant
  • aptly
  • fpm
  • arduino
  • platformio
  • certbot
  • loki

External services

  • cloudflare
  • let’s encrypt
  • github
  • github actions
  • slack

It’s hard to completely get rid of external services - a completely airgapped network doesn’t make a whole lot of sense, especially considering how certifcates work. So, the approach I take is try to limit external services as much as possible!

Homegrown stuff

These are things I’ve written myself (at some point I’ll get around to uploading source code or writing about these things)

  • a temperature sensor exporter for esp32
  • a bash template for changing edgerouter configuration

Other notes

  • One of the messiest parts was deciding on which automation platform to use (ansible vs salt) and then figuring out the best way to run it in an automated way. Once that was all done, it was much easier to iterate. I talked a little about it here
  • You’ll notice there’s no secrets management platform listed (yet) - I considered using ansible vault but operationally it seemed too difficult still. I’m just using gpg + saltstack pillars to manage secrets for now.
  • I don’t think I’m quite ready yet - at some point I’m hoping to setup kubernetes using kubeadm: https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/

Some random screenshots

Here’s what my alerts look like in slack:

Here’s a grafana panel of a temperature sensor sitting in the backyard: