Wake My Potato: The Low-Power Server That Refuses to Die
You know the scenario. You’ve got an old laptop gathering dust, so you turn it into a Linux server. It’s perfect for a homelab, a small side project, or a personal Git server. Then the power flickers. Your "server" is now a silent, offline brick until you physically walk over and press the power button. Not exactly reliable.
That’s the exact problem WakeMyPotato solves. It’s a clever, minimal service that ensures your low-power, potato-grade hardware can automatically wake itself up after an unexpected shutdown. No more late-night trips to the basement or frantic unplugging after a storm.
What It Does
In short, WakeMyPotato is a watchdog service for systems that can’t handle a standard watchdog timer. It’s designed for old laptops or tiny machines (think Raspberry Pi) where a power loss means they stay off. The service periodically writes a timestamp to a file. A separate, always-on device (like a router, another Pi, or a cloud VM) checks that timestamp over the network. If the timestamp stops updating, the watchdog knows the "potato" is down and can send a Wake-on-LAN (WoL) magic packet to boot it back up.
It turns your fragile, power-outage-prone setup into something that can recover automatically, mimicking the resilience of a proper server.
Why It’s Cool
The cleverness here is in its simplicity and practicality. It doesn’t try to over-engineer a solution for hardware that lacks out-of-band management. Instead, it uses the network and a separate, stable device to fill that gap. This is homelab ingenuity at its best.
The use case is super specific and relatable. It’s for developers and tinkerers who are repurposing hardware on a budget. You’re not buying a UPS or a server with IPMI; you’re using what you have. WakeMyPotato embraces that constraint and provides an elegant, scriptable fix. It’s the kind of tool that feels like a secret weapon for keeping pet projects alive with zero budget.
How to Try It
The project is on GitHub, and getting started is straightforward. You’ll need two machines: the "potato" (the server you want to protect) and a "watchdog" (a always-on device that will monitor it).
-
On the Potato: Clone the repo and set up the client script. This script will run as a service, writing its heartbeat to a file.
git clone https://github.com/pablogila/WakeMyPotato.gitFollow the setup instructions in the
README.mdto configure the heartbeat service. -
On the Watchdog: Set up the monitor script. This could be on a Raspberry Pi, your OpenWrt router, or even a free-tier cloud VM. This script will periodically fetch the heartbeat file (via SSH or HTTP) and send a WoL packet if the potato is unresponsive.
-
Configure: Ensure Wake-on-LAN is enabled in the BIOS/UEFI of your potato laptop. You’ll need to set up network credentials and IP addresses in the provided configuration files.
The repository has the necessary scripts and clear guidance to wire it all up.
Final Thoughts
WakeMyPotato is a perfect example of a developer solving their own annoying problem and sharing the solution. It’s not a commercial product; it’s a practical script that makes life a bit easier. If you’ve ever used an old laptop as a server, you’ll immediately see the value. It removes a single point of failure in a way that’s both clever and accessible.
It might not be for production-critical workloads, but for personal projects, learning environments, or that low-traffic service you run for friends, it’s a game-changer. It lets you focus on your code, not on whether your server survived the last thunderstorm.
Check out the project, maybe star it, and give your potato a second chance at life.
@githubprojects
Repository: https://github.com/pablogila/WakeMyPotato