WISPMapbeta

Docs / The collector

Install the collector

One command on any Linux machine with Docker, inside your network. Or the same steps by hand.

Updated 10 November 2026

What you need

  • A Linux machine or VM with Docker and the Docker Compose plugin: x86-64 or ARM64. A Raspberry Pi 4 or 5 is plenty for a few hundred devices.
  • A spot in your network that can reach your devices: the RouterOS API (TCP 8728, or 8729 with TLS), ping, and SNMP (UDP 161) for other makes. Your POP or core site is usually best. See network and firewall.
  • Outbound HTTPS (TCP 443) from that machine to the internet.
  • A collector token: in Admin → Collectors, choose Add collector. The token is shown once, in the install command.

No Docker yet? On Ubuntu, Debian or Raspberry Pi OS, Docker's own script installs it:

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

Log out and in again so the group change applies.

Install with one command

Paste the command from the collector's page in WISPMap. It looks like this:

curl -fsSL https://wispmap.gigahost.co.za/collector/install.sh | sh -s -- <token>

It:

  1. creates a wispmap-collector folder (or the folder you name after the token);
  2. downloads the collector's compose.yaml;
  3. asks for the read-only router user (default wispmon) and its password, and writes them to .env. Only your user can read that file, and its contents never leave the machine;
  4. starts the collector.

Within a minute the collector shows online on the Collectors page, with its version and the machine's name.

Read it first

The script is short, plain shell: open the install script in your browser before running it.

Running the command again in the same place with a new token replaces the token and keeps your router settings. That's how you move a collector to a new token.

Install by hand

If you'd rather not pipe a script into a shell:

mkdir wispmap-collector && cd wispmap-collector
curl -fsSLO https://raw.githubusercontent.com/gigahost-za/wispmap-collector/main/compose.yaml
nano .env
chmod 600 .env
docker compose up -d

with this in .env (the token is on the collector's page):

WISPMAP_URL=https://wispmap.gigahost.co.za
WISPMAP_TOKEN=<the collector's token>
WISPMON_USER=wispmon
WISPMON_PASSWORD='<the router user's password>'
COLLECTOR_HOSTNAME=pop-centurion

All the settings are in Collector settings.

Check that it works

cd wispmap-collector
docker compose logs -f

A healthy start looks like this:

wispmap-collector: connected to wispmap.gigahost.co.za as a collector of 'Your WISP'
wispmap-collector: config v3: 12 devices (10 polled), ping 30s, poll 60s, push 10s

It restarts by itself after a reboot or a crash. If it doesn't show online, see network and firewall.