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: