PulseWatch Probe: Run Your Own Ping Node

NEW
Just released.Run your own probe today

PulseWatch is built on a simple idea: your checks should run close to the people and networks that matter to you. Today we are releasing PulseWatch Probe, a tiny worker that pings the monitors you care about and reports back as a distinct region.

Architecture

PulseWatch server is the coordinator: it owns the database, the UI, the monitor definitions, incidents and reporting. A probe is a small stateless worker that pings assigned HTTP monitors and sends back region, response_time, status and the rest.

Each check stores its own region and probe node, so a monitor detail page can show per-region response history instead of a single global number.

Pairing

The worker asks for a pairing code from /api/v1/probes/request, prints a URL and code in its logs, and you approve it from your browser at /pair-probe while signed in. That single approval creates a probe_node tied to your account.

Marketplace and visibility

Approved community probes can be subscribed from Settings, and you can unsubscribe at any time. Your own probes can be published, unpublished, or unpaired. Approval is only required to be listed for everyone; a probe can run for your own account without it.

Probes are self-hosted: PulseWatch does not run probe workers for you. You host the worker on your own machine (or any host you control), and PulseWatch only coordinates the checks and stores the results.

Auth model

Probe endpoints are public for reporting, so there is no cross-account token plumbing. Approval happens once through your account session, and the probe keeps reporting after that.

Run a probe locally

cd worker
bun install
PULSEWATCH_URL=http://localhost:10000 REGION=local bun src/probe.ts

                    

Run via Docker

docker run -d --restart always   -e PULSEWATCH_URL=https://pulsewatch.pignatiello.online   -e REGION=eu   ghcr.io/optomake-srl/pulsewatch-probe:latest

                    

The probe prints a pairing URL and code in its logs; approve it while signed in and it starts reporting. Optional overrides: PROBE_NODE_ID, INTERVAL_SECONDS, PROVIDER, PROBE_LOCATION, PROBE_NAME, PROBE_STATE_FILE.

The PulseWatch Team

PW
PulseWatch TeamTransparent infrastructure, always. All posts →

💬 Comments

Questions, corrections or thoughts on this post? Join the thread below.