Synchronizing Multiple Piholes with orbital-sync

I run PiHole for ad-blocking on my home network. I’m an SRE in my day job, so of course I’m not running a single instance of something as important as DNS. I also don’t want to have to update things like local DNS entries or blocklists in multiple places, that will cause weird and annoying inconsistencies in my DNS. Enter orbital-sync. ...

December 7, 2024 · 2 min · 406 words · Me

Store NUT metrics in Prometheus so we can display them with Grafana

I ordered a second UPS because thanks to PeaNUT, I saw that my current UPS is only providing 20 minutes of uptime. Unfortunately, as of this post, PeaNUT will only read one UPS’ metrics from Network UPS Tools per PeaNUT instance, so I’m going to start scraping the metrics into Prometheus and displaying them with Grafana. Here’s how I did it. ...

April 21, 2024 · 3 min · 546 words · Me

Setup Prometheus and Grafana in Your Homelab

I wanted nice graphs for the various metrics I collect in my homelab and from my Home Assistant server. Here’s how I installed Prometheus and Grafana in my homelab to get them. ...

April 13, 2024 · 6 min · 1256 words · Me

Set up nut-upsd and peanut in your homelab

Set up nut-upsd and peanut in your homelab I run my Synology server and network switches off a UPS. I decided I wanted a dashboard for the UPS, here’s how I did set up Network UPS Tools, aka NUT, and the PeaNUT dashboard. ...

April 6, 2024 · 5 min · 991 words · Me

Homelab Upgrade from USG-Pro to UDM-Pro

Last Tuesday night, my USG Pro died. I got it secondhand and I got almost five years use out of it, so it was past time for a more performant replacement. ...

August 26, 2023 · 4 min · 735 words · Me

Set up nginx-proxy-manager with LetsEncrypt SSL certificates

In the next few posts, I’m going to document how to set up Home Assistant (HA) from scratch. We’re going to want to protect the admin UI interfaces for HA and its support services with SSL, and add authentication to services that don’t provide it themselves. We’re going to do this with Nginx Proxy Manager because it has built in support for using LetsEncrypt to obtain free SSL certificates, supports adding authentication to services that don’t do it themselves, and is overall easy to use. Before I start writing more Home Assitant articles, let’s set up a SSL proxy server to keep everything secure. ...

July 22, 2023 · 10 min · 2101 words · Me

Installing ESPHome

Some of my posts assume that the user already has ESPHome installed, so I’m documenting how to install it here so I don’t have to repeat it everywhere. ...

May 22, 2023 · 2 min · 334 words · Me

Booting an Orange Pi 5 from NVMe

Just got an Orange Pi 5. I couldn’t find a simple set of instructions on how to boot it off the M.2 NVMe slot, so I’m documenting it here. ...

March 31, 2023 · 3 min · 581 words · Me

Restic Backups on TrueNAS

I’ve been backing my homelab up with duplicacy (See Backing Up the Cluster Using Duplicacy), but I’m fed up with it returning a 0 exit code even if there’s a problem with the backup. This makes me have to do a lot of annoying rummaging through log output to be sure that a backup actually worked, so I decided to switch to restic. In this blog entry, I’m going to explain how to create a jail in TrueNAS, mount directories you want to back up into the jail, install restic, and how to use it to back up to Backblaze b2. ...

January 13, 2023 · 11 min · 2237 words · Me

Western Digital Red drive SMR Fiasco

TL;DR - SMR drives can take thirteen to sixteen times as long to resilver in your ZFS raid than CMR drives. If they even succeed. This wouldn’t be a big deal, except that Western Digital started using SMR technology in their WD-Red drives that are marketed toward SOHO and small business raid, without any warnings about the RAID performance implications. I got lucky when I bought my last batch of Reds, they were all CMR, but it was pure luck - I bought them based on Western Digital’s reputation and because I’ve seen multiple NAS vendors recommend WD-REDs in the past. ...

January 15, 2022 · 1 min · 177 words · Me