Browse documentation
Installing the Site Collector
The Site Collector is a lightweight container you run on-premises at each site. It reaches the devices, servers, and services on that site's local network and reports back to JOATOS. It only makes outbound connections, so no inbound firewall rules are needed.
Before you start
- A Linux host at the site with Docker installed, able to reach your JOATOS API over HTTPS.
- Administrator access to JOATOS (to register the collector and download the installer).
- The host should be on, or able to route to, the subnets you want to monitor.
Step 1 — Register the collector
- Go to Settings → Site Collectors.
- Register a new collector. JOATOS generates a collector token.
- Copy the token now — it's shown only once.
Step 2 — Download the installer
- Go to Settings → Downloads.
- On the Site Collector card, select Download installer (Linux/macOS).
- This downloads
site-collector-installer.sh, with your API address already built in.
Step 3 — Run the installer
Copy the installer to the Linux host and run it, passing your collector token:
bash site-collector-installer.sh <your-collector-token>
The installer pulls the collector image and starts it as a Docker container that restarts automatically. Behind the scenes it runs the container with host networking and raw-socket access so that ICMP (ping) monitoring works:
docker run -d \
--name joatos-site-collector \
--restart unless-stopped \
--network host \
--cap-add NET_RAW \
-e API_URL="https://your-joatos-api" \
-e AGENT_TOKEN="<your-collector-token>" \
ghcr.io/subzeroau-rgb/joatos-site-collector:latest
Important:
--network hostand--cap-add NET_RAWare required. Without them, ICMP monitoring silently stops working and the collector may report container IDs instead of the host's real name and IP.
Step 4 — Assign sites
Back in JOATOS, assign one or more sites to this collector. From then on, all scanning and monitoring for those sites runs from this collector on your local network.
How it behaves
- The collector sends a heartbeat roughly every 30 seconds, reporting its status and picking up work (device polls, ICMP checks, discovery scans).
- It manages its own schedule — there's no separate queue server to run.
Configuration reference
The installer sets these for you; you rarely need to change them.
| Variable | Required | Default | Purpose |
|---|---|---|---|
API_URL | Yes | — | Base URL of your JOATOS API |
AGENT_TOKEN | Yes | — | The per-collector token from Step 1 |
POLL_INTERVAL | No | 30 | Heartbeat interval in seconds (minimum 10) |
LOG_LEVEL | No | info | debug, info, warn, or error |
Notes & tips
- One collector per site. The collector image is public, so no registry login is required.
- The token is scoped to this collector and its assigned sites, and is stored hashed on the server — keep the copy you saved safe.