This is all way more than I need but damn it sure is nice to have. Most of the networking gear is Ubiquiti and I'm very happy with the integration and ease of setup. Adding several APs to cover my house was about as simple as it gets. There are two 10GbE drops for both my office and my partner's office. The servers are connected directly to the aggregation switch via 10G links as well.
The rack on the left is in my utility room and the rack on the right is in my office. I didn't really need a rack for my office but I had it laying around so figured I'd put it to use.
The main server is the HP ProLiant DL380p Gen 8 on the bottom labeled "gila". The server above it is turned off and is basically a spare at the moment. I need a lot of drive bays and these were one of the least expensive options when I bought them. All of the drives in the hot-swap bays in gila are assigned to a ZFS filesystem with multiple pools for various use cases.
The 12V power supply and Dell OptiPlex 7050 are primarily for my amateur radio gear. Right now I have a Yaesu FT-991A and some RTL-SDR dongles connected up but not much else as of December 2024.
Few things that were useful while setting all this up:
ilo-exec.exp
Expect script to execute fan silencing commands on the HP servers through iLO. Without this the servers are obnoxiously loud. I have this running on a schedule from the UDM, quick and dirty but it works perfectly. I needed to add an extra fan for the RAID controllers but haven't seen any issues with things overheating otherwise.
#!/usr/bin/expect -f set timeout 2 set host [lindex $argv 0] set level [lindex $argv 1] set script [split [exec ./silence.sh $level] "\n"] spawn timeout --verbose 60 \ ssh -tt Administrator@$host \ -o KexAlgorithms=diffie-hellman-group14-sha1,diffie-hellman-group1-sha1 \ -o PubkeyAcceptedAlgorithms=+ssh-rsa \ -o HostkeyAlgorithms=+ssh-rsa \ -o StrictHostKeyChecking=no \ -o ConnectTimeout=$timeout foreach line $script { expect "hpiLO-> " send "$line\r" } expect "hpiLO-> " send "exit\r" expect "CLI session stopped" expect eof wait
silence.sh
#!/bin/bash cat << EOF fan t 24 caut 110 fan t 11 set 0 fan t 11 adj -20 fan t 12 adj -20 fan p 1 min 15 fan p 2 min 15 fan p 3 min 15 fan p 4 min 15 fan p 5 min 15 fan p 6 min 15 fan p 1 max $1 fan p 2 max $1 fan p 3 max $1 fan p 4 max $1 fan p 5 max $1 fan p 6 max $1 EOF