Homelab & self-hosted

Know when something happens at home.

Watch your homelab from anywhere — Home Assistant, Uptime Kuma, or any self-hosted box can reach your phone without ever exposing a port. The free tier covers a personal lab.

Outbound HTTPSNo port-forwardKuma · Proxmox · HA
Features

Monitoring for your homelab

Self-hosting still deserves eyes on it. Connect your homelab to your phone and drop the cloud monitoring bill.

Works with your stack

Uptime Kuma, Home Assistant, Proxmox, Pi-hole, and the *arr apps forward a webhook or chain a curl.

No exposed ports

Outbound HTTPS only. No public IP needed, and it runs fine from behind NAT or a VPN.

Per-machine channels

One app per machine keeps NAS, Proxmox, and Pi-hole alerts in their own channels.

Scriptable anywhere

Call it from bash, a systemd unit, a Docker healthcheck, or a cron job.

Free for hobby use

The free tier covers a personal homelab, with no per-seat pricing.

Sub-second delivery

Delivery takes under a second, so a problem at home reaches you wherever you happen to be.

Get started

Three steps to homelab alerts

1

Get the URL or CLI

Copy your application webhook URL, or install the PocketAlert CLI on your box.

2

Wire up your boxes

Chain a curl onto a script, forward a webhook from Kuma or Home Assistant, or use systemd OnFailure.

3

Monitor from anywhere

Fire an event and your phone buzzes, even from behind NAT with no ports exposed.

Connect your homelab

1. From a bash or cron script (CLI)

pocketalert auth YOUR_API_KEY
pocketalert send -t "NAS · disk degraded" -m "pool tank · drive 2 FAULTED"

Or skip the CLI and curl the messages API straight from any script:

curl -X POST "https://api.pocketalert.app/v1/messages" \
  -H "Token: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"title":"Proxmox backup failed","message":"vzdump job on pve1 exited 1","level":"high"}'

2. From Home Assistant

rest_command:
  pocketalert:
    url: "https://api.pocketalert.app/v1/messages"
    method: POST
    headers:
      Token: "YOUR_API_KEY"
    content_type: "application/json"
    payload: '{"title":"{{ title }}","message":"{{ message }}"}'

3. From Uptime Kuma (webhook)

Create a webhook on the Webhooks page and copy its receive URL, e.g. https://p4a.me/wh/1234abcd. In Uptime Kuma add a webhook notification pointed at that URL, then map Kuma's payload with a GJSON template such as %monitor.name% is %heartbeat.status%.

Everything runs over outbound HTTPS, so port-forwarding never enters the picture. See the docs.

FAQ

Questions, answered

Any self-hosted box that can make an HTTP request can reach you. Chain a curl onto a script, forward a webhook from Uptime Kuma or Home Assistant, or call the CLI from a systemd unit. The alert finds your phone no matter where the server runs.

Yes. PocketAlert pairs with Uptime Kuma, Home Assistant, Proxmox hooks, Pi-hole, the *arr apps, and plain bash scripts. If it can POST JSON, it works.

No public IP, no port-forwarding. Your server opens an outbound HTTPS request to PocketAlert, which means it works from behind NAT, a home router, or a VPN.

Create one application per box or service. Your NAS, Proxmox, and Pi-hole alerts each land in a separate channel and stay easy to tell apart.

Yes. The free tier covers a personal homelab. No per-seat pricing, and no enterprise monitoring contract for the privilege of hearing about a sick NAS.

Yes. Send it with level critical and on Android it posts to a dedicated notification channel that bypasses Do Not Disturb and can even show full screen — you grant DND access once. On iPhone, high and critical arrive as time-sensitive notifications that break through Focus modes, and the full critical sound that overrides the mute switch is rolling out as Apple grants the entitlement. On the free plan critical is delivered as high: still instant, without the DND override.

Watch your homelab from anywhere.

One curl connects a self-hosted box to your phone. No cloud monitoring bill.