Wake-on-LAN for a homelab: use the box that never sleeps
The expensive machine in a homelab does not need to be on all day; it needs to be on while a job is running. Sleeping it between jobs, having it hold itself up while a backup or a build is actually moving, and getting it back in seconds is the whole arrangement — and if you have a Raspberry Pi, a NAS or a small server running in a cupboard, you already own the part everybody else has to buy. Waking a machine over the internet needs exactly one thing inside your network: something that is awake and can put a broadcast on the wire. You have that.
This guide covers using it — the free agent as an emitter, which box to put it on, the arithmetic about when a dedicated device is still the better answer, spinning the power-hungry machine down between jobs, and self-hosting the whole service if you would rather not depend on us at all.
The always-on box is the emitter
The agent is a single static binary with no dependencies, and it is free to download and free to use as an emitter — permanently, on any plan, including the free one. Install it on the machine that already never sleeps and that machine becomes the thing that takes the wake request and broadcasts the magic packet on your network. There is no hardware to buy and nothing plugged in.
It is built for Linux on amd64, arm64 and the older ARMv6 cores in the original Pi and the Pi Zero, as well as Windows and Apple silicon — so a Pi of any generation, a mini PC, a home server, a Docker host, or a NAS that lets you run your own binary or a container. On Linux it installs itself as a systemd service, so it comes back after a reboot without you thinking about it. On a NAS the container is the route — one docker line, host-networked, and it enrols itself as your always-on waker; the NAS page walks through Synology, QNAP, Unraid and TrueNAS.
When a dedicated dongle still beats it
This is the trade, stated plainly, because it is the question the homelab reader actually has. A Raspberry Pi 4 idles at roughly three watts and is a general-purpose computer that wants updating, a working SD card and a power supply that has not started to sag. The dongle — a Pi Pico W in a printed case — holds its connection on about half a watt and does one job.
So: if a box is running anyway, use the agent. The marginal cost of the emitter job on a machine that is already on is zero, and buying hardware for it would be silly. The dongle is for the case where nothing stays on — the household that genuinely wants no computer left running, or a second network segment with no always-on machine on it. You can also mix them: an agent here, a dongle in the room with no server.
Spinning the big machine down between jobs
The usual homelab shape is a small always-on box plus something much larger that is only occasionally needed — a NAS full of spinning disks, a machine with a GPU in it, a bulk-storage server. The valuable arrangement is: the small box stays up and does the waking; the big machine sleeps most of the time and is woken for the job.
The return trip needs software on the big machine, because putting a computer to sleep means asking its operating system to do it. Install the agent there as well and, on the Plus and Pro plans, you can sleep, restart or shut it down from the dashboard, the API, or a schedule — wake at 01:00 for the backup window, sleep again at 03:00. What no software can do is have that agent wake its own machine: asleep, it is asleep too, which is why the small box is doing that job.
What the free plan actually covers here
One machine, unlimited wakes, the dashboard, and the last ten attempts on record with the reason any of them failed. For a homelab with one big box to wake, that is a complete answer and it does not expire — there is no card, no trial clock and no feature that switches off.
What the paid plans add is the part around the wake: confirmation that the machine came up rather than just that a packet went out, schedules, the power actions above, API keys for your own scripts, and more machines. Plus is £12 a year for five machines and five people; Pro is £24 a year for twenty machines, five emitters and the fleet features. The plans page is the complete list.
Home Assistant
There is a native Home Assistant integration, so machines appear as switches and buttons in your dashboards and automations rather than as a shell command wrapped in YAML. Install it through HACS as a custom repository — it is public and installable today, but the default HACS listing is somebody else's review queue and it is not in it yet.
The power buttons in Home Assistant follow the same rules as everywhere else: they reach a machine the agent is installed on, through an API key allowed to power things, on a paid plan. Waking works with any key.
The same repository also ships an add-on that runs the free agent on the Home Assistant box itself, as your always-on waker — free on every plan, and nothing to do with API keys. The NAS page has the four steps.
Running the whole thing yourself
The firmware is open, the wire protocol is published in full, and the reference relay is in the repository under AGPL-3.0. Standing it up is git clone and docker compose up -d, and the setup page will point a dongle at your own relay instead of ours. That is a real option rather than a reassuring sentence — the protocol is published precisely so that it is.
If you build the hardware from the repository and self-host the relay, you never touch us and it costs nothing. The subscription buys hosted infrastructure — machines, confirmation, schedules, power actions, people, webhooks, support — and never unlocks a capability in the firmware. Everything is at the repository.
If your lab is only half of it — a work machine to reach remotely, a rig to stream from, other people who need to wake things — who uses Wake-on-LAN maps the six common ones and points at the guide for each.