The downtime between last night and this afternoon was because of an IP change by my ISP.
They want to charge me like $15/mo for a static IP and I told them to pound sand, so instead I have a semi-static IP that changes ~once or twice a year.
It happens so infrequently that I haven't spent time to (make an LLM) write a dyndns script.