Probes
Every box reporting in. Location is resolved automatically from the public IP at startup, so there is no per-node configuration to get wrong.
Registry
Two probes in the same city are told apart by their ASN — the network their address is announced from — not by an internal id.
Run one
A probe is a single self-contained binary with no native dependencies. It needs no inbound port, no public IP and no certificate — all traffic is outbound. It fits in 256 MB of RAM and sends roughly 4 KB a minute. If you have a spare box anywhere, especially somewhere that is not already on the map, it can join.
docker run -d --restart=always \
-e Probe__NodeId=your-city-01 \
-e Probe__HubUrl=https://geopulse.rafinia.info/ \
-e Probe__SharedSecret=ask-me-for-one \
ghcr.io/nrafinia/geopulse-probe:latest