๐Ÿ›ฐ๏ธ Won the Power Outage Battle, Lost to a Ping

๐Ÿ“† 2025-08-04 16:40

They said running a homelab was a fun hobby. They didnโ€™t tell me it would turn into a full-time job involving power engineering, DNS sorcery, and the occasional battle with an ancient USB cable. But here we are.

โšก NUT + UPS + Docker = Apocalypse-Proof?

My setup looks like this:

Extras:

The idea? If the grid fails, my cluster becomes a polite gentleman: it warns everyone, saves its work, and lies down until the lights return.

And it worked! ... until yesterday. My internet went down for more than 3 hours. (Not that I have a lot of traffic and everybody noticed that my sava.rocks services were down).

๐Ÿšซ The Unexpected Boss Fight: Internet Outage

Power stayed on. But the internet died.

Suddenly, my proud little cluster โ€” which survived power chaos like a champ โ€” sat idle, confused, alone, unable to resolve even a simple DNS query.

It was like watching a bodybuilder forget how to open a peanut jar.

Why? Because while I protected against power failure, I forgot the other lifeblood of modern homelabs: connectivity.

Without internet:

๐Ÿ“ถ Time for Plan B: A Bucket of Wireless Internet

I needed a backup connection. A plan. A dream.

So, what counts as emergency internet?

Okay, maybe not the last one. (Or maybe yes.)

Even better: bake internet monitoring into my NUT logic:

๐ŸŒ But Wait โ€” What About the Domain?

Keeping your services online isn't just about having internet. It's about being reachable. So I needed to fix DNS too.

๐ŸŒ€ Option 1: Dynamic DNS Like Itโ€™s 2009

๐Ÿง  Option 2: Fancy DNS Failover

๐Ÿ› ๏ธ Option 3: Self-Hosted DNS With Control Issues

๐Ÿ“š Takeaways From My Internet Faceplant

My cluster lived through a lot of power blackouts like a stoic wizard. But a simple internet outage turned it into a confused puppy.

๐Ÿ”ฎ Whatโ€™s Next?

I'm now working on:

๐Ÿšถ Back to my blog

The page https://sava.rocks/blog/won-the-power-outage-battle-lost-to-a-ping/ is served from my cluster by tiny and available on 2 other protocols:
Gemini:
gemini://sava.rocks/blog/won-the-power-outage-battle-lost-to-a-ping/
Gopher:
gopher://sava.rocks/1/blog/won-the-power-outage-battle-lost-to-a-ping/
How can you reach these protocols ?
It's simple. Details are found here for gopher and here for gemini on Wikipedia.
Website Meta
text/gemini
Mastodon