Dashboard
The Dashboard is the main landing page — a real-time overview of your entire device fleet.
Overview
When you log in, the Dashboard shows:
- License status banner (if approaching limits or expired)
- Pending device authorizations waiting for approval
- Interactive map with device locations worldwide
- Device cards with live system stats
- Service agents and admin devices in separate sections
Data updates in real-time via WebSocket (with polling fallback every 5 seconds).
Pending Authorizations
When a new device runs the provisioning script, it appears at the top of the Dashboard as a pending authorization:
- Device ID and truncated WireGuard public key
- Request timestamp
- Two actions: Approve & Assign IP or Deny
Approving a device assigns it a VPN IP from your tenant's subnet and brings it online.
Device Map
An interactive geographic map (powered by Leaflet) shows all devices with reported locations. Devices appear as markers that you can click for quick details.
Set device locations via:
- Agent-reported GPS coordinates
- Manual entry in the location editor on each device card
SERVER_LATITUDE/SERVER_LONGITUDEenvironment variables for the server itself
Device Cards
Each managed device gets a card showing:
| Section | Information |
|---|---|
| Header | Hostname, Magic DNS address (e.g., pi-sensor-1.wg), status badge |
| Status | Online (green), Warning (yellow), or Offline (red) with last-seen time |
| Device Info | Raspberry Pi detection badge, agent version |
| Location | Name, coordinates, editable via inline editor with location lock |
| VPN | WireGuard tunnel IP and connection status |
| Resources | CPU, Memory, Disk usage bars (warn at 70%, alert at 85%) |
| Pi Telemetry | CPU temperature, core voltage, SDRAM voltage (Raspberry Pi only) |
| Actions | USB device scan, Open terminal, Delete device |
Agent Updates
If a device runs an older agent version, an Update to vX.X.X button appears on its card. Click it to push the latest agent binary to the device.
USB Devices
Click USB Devices on a device card to scan and list all connected USB peripherals, showing vendor, product, and device IDs.
Terminal Access
Click Open Terminal on any device card to launch a full interactive terminal session in the browser. The terminal:
- Uses xterm.js for a native terminal experience
- Connects via WebSocket through the WireGuard VPN
- Opens as a full-screen overlay
- Supports multiple concurrent sessions
Services & Admin Devices
Below the main device grid, separate sections display:
- Services — Kubernetes workloads running the service-agent sidecar (shows hostname, DNS, VPN IP, status, version)
- Admin Devices — Workstations and laptops manually added to the VPN