Skip to content

Monitor your home network free: Uptime Kuma + n8n alerts

This page may contain affiliate links.

If you run a home server, a Raspberry Pi, or even just want to know the moment your broadband drops, you don't need to shell out for a commercial monitoring service. Two free, self-hosted tools — Uptime Kuma and n8n — can give you enterprise-grade network monitoring with zero monthly cost. Uptime Kuma watches your services and pings your router; n8n takes those alerts and turns them into smart notifications, escalations, and even automated fixes. Best of all, both run happily on a £50 Raspberry Pi 4 or an old laptop you've got lying around.

Why self-host your monitoring?

Cloud monitoring services like Pingdom or UptimeRobot are great, but they typically charge per monitor and per SMS alert. For a home network with a dozen devices, you'd be looking at £10–£20 a month for features you can replicate for free. Self-hosting also keeps your data local — no third party knows when your home IP changes or which services you run. The only catch is that if your internet dies, your monitoring server can't tell you. That's where a second location helps, but for most home users, knowing about outages the moment they happen is good enough.

Step 1: Install Uptime Kuma

Uptime Kuma is a beautiful, open-source monitoring dashboard. It supports HTTP(S), TCP, ping, DNS, and even game server checks. To install it on a Linux box (Ubuntu/Debian), you'll need Docker. If you haven't got Docker yet:

curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER

Log out and back in, then run:

docker run -d --restart=always -p 3001:3001 -v /opt/uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1

Open http://YOUR_SERVER_IP:3001 and create your admin account. Now add monitors:

  • Ping your router — use the 'Ping' type and enter 192.168.1.1 (or your gateway IP).
  • Check your public IP — add an HTTP monitor for https://api.ipify.org and set the 'Expected Status Code' to 200.
  • Monitor local services — add HTTP monitors for http://192.168.1.50:8080 (Pi-hole, Home Assistant, etc.).

Set the check interval to 60 seconds for critical services and 5 minutes for others. Uptime Kuma will show you a lovely status page and history graphs, but the real power comes when you connect it to n8n.

Step 2: Set up n8n for alert routing

n8n is a workflow automation tool — think Zapier but self-hosted and free. Install it with Docker too:

docker run -d --restart=always -p 5678:5678 -v /opt/n8n:/home/node/.n8n --name n8n n8nio/n8n

Visit http://YOUR_SERVER_IP:5678 and create your user. The magic happens when you create a workflow that listens for Uptime Kuma webhooks. In Uptime Kuma, edit a monitor, scroll to 'Notifications', and add a 'Webhook' notification. Set the URL to:

http://YOUR_N8N_IP:5678/webhook/uptime-alert

Choose 'JSON' as the payload format. Uptime Kuma will POST a JSON body whenever the monitor goes up or down. Now in n8n, create a new workflow and add a 'Webhook' trigger node. Set the path to uptime-alert and the method to POST. Save the workflow — n8n will give you a production URL that looks like https://your-n8n-url/webhook/uptime-alert — update that in Uptime Kuma if you're using HTTPS.

Step 3: Build clever alerts (not just noise)

The default Uptime Kuma notification is fine, but n8n lets you filter and route. Here's a practical workflow:

  1. Webhook trigger — receives the JSON.
  2. IF node — check if monitor.name contains 'Router' and heartbeat.status equals 'down'.
  3. If true — send a push notification via Pushover or ntfy.sh. For ntfy.sh, add an HTTP Request node: POST to https://ntfy.sh/your-topic with the body Router down! Check your broadband.
  4. If false — check if the service is back up, then send a 'Recovered' message.

You can also add a 'Wait' node to avoid alert storms. For example, if the router goes down, wait 5 minutes, then check Uptime Kuma's API to see if it's still down before alerting. This stops you getting woken up at 3am for a 30-second blip. To do that, use the HTTP Request node to hit http://YOUR_KUMA_IP:3001/api/status-page/heartbeat/YOUR_MONITOR_ID and parse the result.

Step 4: Go further — auto-remediation and dashboards

Once the basics work, n8n can do more than notify. If your internet drops, you could have n8n SSH into your router and reboot the WAN interface. Or if your Pi-hole stops responding, n8n can restart the Docker container via the Docker API. These are advanced but genuinely useful — no more waiting until you get home to fix things.

For a public status page, Uptime Kuma has one built in. Expose it via a reverse proxy (like Caddy or Nginx) and you've got a professional-looking page to share with family or clients if you run a small side hustle from home.

If all this scripting and YAML feels like a lot of homework, there's a shortcut. I've put together a Home Lab & Automation Pack — ready-made AI prompts for scripting, troubleshooting and documenting your home lab (from £9). It gives you copy-paste prompts for generating n8n workflow JSON, Docker Compose files, and Uptime Kuma configs without wrestling with documentation. Think of it as having a homelab-savvy mate on call to write the fiddly bits for you.

What about a dedicated monitoring device?

You can run both tools on the same Raspberry Pi, but if you want a clean setup, a Raspberry Pi 5 (8GB) is plenty — about £80 for the board, plus a £10 case and a decent SD card. Alternatively, an old Dell or Lenovo mini PC from eBay for around £50-70 will handle dozens of monitors without breaking a sweat. Either way, you'll spend less than one month of a paid monitoring subscription, and it's yours forever.

Testing and going live

Before you rely on this, test it. Stop your router's Docker container, or pull the ethernet cable from your Pi, and watch the notification arrive. Check that recovery messages work too. Then set up a notification for every monitor you care about — but be selective. Too many alerts and you'll start ignoring them.

One last tip: make sure both Uptime Kuma and n8n have --restart=always in their Docker run commands so they come back after a reboot. Add a cron job to update your containers weekly, and you've got a monitoring setup that runs itself.

You now have a free, self-hosted monitoring stack that would cost £20+ a month elsewhere. It watches your broadband, your servers, and your side hustle's website — and n8n makes sure the right person (you) gets the right message at the right time. That's the kind of quiet reliability that makes a home lab feel properly pro.

Written by

Richard Tucker

View all posts →