{
  "generated_at": "2026-07-16T23:59:10Z",
  "status": "degraded",
  "host": {
    "hostname": "numzlab",
    "uptime_seconds": 815641,
    "load": [0.59, 0.76, 0.74],
    "memory_gib": {
      "total": 7.6,
      "available": 4.9
    },
    "disk_root": {
      "used_percent": 15,
      "used": "42G",
      "total": "295G"
    },
    "temperature": {"celsius": 39.0, "peak_celsius": 39.0, "primary_sensor": "x86_pkg_temp", "status": "ok", "warn_celsius": 80, "critical_celsius": 90, "sensors": [{"id": "pch_cometlake", "celsius": 39.0, "source": "thermal"}, {"id": "x86_pkg_temp", "celsius": 39.0, "source": "thermal"}, {"id": "pch_cometlake:temp1_input", "celsius": 39.0, "source": "hwmon"}, {"id": "coretemp:temp1_input", "celsius": 37.0, "source": "hwmon"}, {"id": "coretemp:temp2_input", "celsius": 37.0, "source": "hwmon"}, {"id": "acpitz", "celsius": 30.0, "source": "thermal"}, {"id": "acpitz:temp1_input", "celsius": 30.0, "source": "hwmon"}, {"id": "coretemp:temp3_input", "celsius": 29.0, "source": "hwmon"}]},
    "lan_ip": "192.168.1.147",
    "tailscale_ip": "100.121.79.2"
  },
  "containers": [{
  "name": "numzlab-hostinger-domains-mcp\n",
  "state": "running\n",
  "status": "Up 4 hours\n",
  "health": "none",
  "image": "numzlab/hostinger-mcp:1.8.0\n"
},{
  "name": "numzlab-hostinger-dns-mcp\n",
  "state": "running\n",
  "status": "Up 4 hours\n",
  "health": "none",
  "image": "numzlab/hostinger-mcp:1.8.0\n"
},{
  "name": "numzlab-platform-gateway\n",
  "state": "running\n",
  "status": "Up 2 hours\n",
  "health": "none",
  "image": "caddy:2-alpine\n"
},{
  "name": "smart-pos-frontend\n",
  "state": "running\n",
  "status": "Up 5 hours (healthy)\n",
  "health": "healthy",
  "image": "smartpos-frontend\n"
},{
  "name": "smart-pos-backend\n",
  "state": "running\n",
  "status": "Up 5 hours (healthy)\n",
  "health": "healthy",
  "image": "smartpos-backend\n"
},{
  "name": "smart-pos-mock-vsdc\n",
  "state": "running\n",
  "status": "Up 5 hours (healthy)\n",
  "health": "healthy",
  "image": "smartpos-mock-vsdc\n"
},{
  "name": "numzfleet-dev-traccar\n",
  "state": "running\n",
  "status": "Up 6 hours (healthy)\n",
  "health": "healthy",
  "image": "traccar/traccar:latest\n"
},{
  "name": "numzfleet-dev-frontend\n",
  "state": "running\n",
  "status": "Up 18 hours\n",
  "health": "none",
  "image": "node:20-alpine\n"
},{
  "name": "numzfleet-dev-fuel-api\n",
  "state": "running\n",
  "status": "Up 19 hours (healthy)\n",
  "health": "healthy",
  "image": "node:20-alpine\n"
},{
  "name": "numzfleet-dev-erb-api\n",
  "state": "running\n",
  "status": "Up 3 days (healthy)\n",
  "health": "healthy",
  "image": "numzfleet-dev-erb-api\n"
},{
  "name": "numzfleet-dev-db\n",
  "state": "running\n",
  "status": "Up 3 days (healthy)\n",
  "health": "healthy",
  "image": "postgres:15-alpine\n"
},{
  "name": "numzfleet-dev-traccar-mysql\n",
  "state": "running\n",
  "status": "Up 3 days (healthy)\n",
  "health": "healthy",
  "image": "mysql:8.0\n"
},{
  "name": "numzfleet-dev-document-ocr\n",
  "state": "running\n",
  "status": "Up 3 days (healthy)\n",
  "health": "healthy",
  "image": "numzfleet-dev-document-ocr\n"
},{
  "name": "numzfleet-dev-erb-worker\n",
  "state": "running\n",
  "status": "Up 3 days\n",
  "health": "none",
  "image": "numzfleet-dev-erb-worker\n"
},{
  "name": "bold_curran\n",
  "state": "exited\n",
  "status": "Exited (2) 6 days ago\n",
  "health": "none",
  "image": "5a9c48e5ce9f\n"
},{
  "name": "numzlab-dashboard\n",
  "state": "running\n",
  "status": "Up 9 days\n",
  "health": "none",
  "image": "caddy:2-alpine\n"
},{
  "name": "brainwave-dashboard\n",
  "state": "running\n",
  "status": "Up 9 days\n",
  "health": "none",
  "image": "brainwave1-dashboard\n"
},{
  "name": "brainwave-backend\n",
  "state": "running\n",
  "status": "Up 9 days\n",
  "health": "none",
  "image": "brainwave1-backend\n"
},{
  "name": "brainwave-postgres\n",
  "state": "running\n",
  "status": "Up 9 days (healthy)\n",
  "health": "healthy",
  "image": "postgres:16-alpine\n"
},{
  "name": "client-demo\n",
  "state": "running\n",
  "status": "Up 9 days\n",
  "health": "none",
  "image": "nginx:alpine\n"
},{
  "name": "numzlab-gateway\n",
  "state": "running\n",
  "status": "Up 9 days\n",
  "health": "none",
  "image": "caddy:2-alpine\n"
},{
  "name": "smart-pos-postgres\n",
  "state": "running\n",
  "status": "Up 9 days (healthy)\n",
  "health": "healthy",
  "image": "postgres:16-alpine\n"
},{
  "name": "numzdrive-nextcloud\n",
  "state": "running\n",
  "status": "Up 9 days (healthy)\n",
  "health": "healthy",
  "image": "nextcloud:29-apache\n"
},{
  "name": "numzdrive-db\n",
  "state": "running\n",
  "status": "Up 9 days (healthy)\n",
  "health": "healthy",
  "image": "postgres:16-alpine\n"
},{
  "name": "numzdrive-redis\n",
  "state": "running\n",
  "status": "Up 9 days (healthy)\n",
  "health": "healthy",
  "image": "redis:7-alpine\n"
},{
  "name": "numz-assistant-https\n",
  "state": "running\n",
  "status": "Up 9 days\n",
  "health": "none",
  "image": "caddy:2-alpine\n"
},{
  "name": "station-main-station-backend-1\n",
  "state": "running\n",
  "status": "Up 9 days\n",
  "health": "none",
  "image": "station-main-station-backend\n"
},{
  "name": "station-main-postgres-1\n",
  "state": "running\n",
  "status": "Up 9 days (healthy)\n",
  "health": "healthy",
  "image": "postgres:16-alpine\n"
},{
  "name": "portainer\n",
  "state": "running\n",
  "status": "Up 9 days\n",
  "health": "none",
  "image": "portainer/portainer-ce:latest\n"
}],
  "services": [{
  "id": "brainwave-ui",
  "name": "Brainwave\n",
  "url": "http://brainwave.numzlab/",
  "status_code": 301,
  "expected": 200,
  "ok": true,
  "latency_ms": 0
},{
  "id": "brainwave-api",
  "name": "Brainwave API\n",
  "url": "http://api.brainwave.numzlab/api/docs",
  "status_code": 301,
  "expected": 200,
  "ok": true,
  "latency_ms": 0
},{
  "id": "fleet-ui",
  "name": "NUMZFLEET (gateway)\n",
  "url": "http://fleet.numzlab/",
  "status_code": 301,
  "expected": 200,
  "ok": true,
  "latency_ms": 0
},{
  "id": "dashboard-gw",
  "name": "Dashboard (gateway)\n",
  "url": "http://dashboard.numzlab/",
  "status_code": 301,
  "expected": 200,
  "ok": true,
  "latency_ms": 0
},{
  "id": "numzfleet-api",
  "name": "NUMZFLEET API\n",
  "url": "http://127.0.0.1:3000/health",
  "status_code": 200,
  "expected": 200,
  "ok": true,
  "latency_ms": 0
},{
  "id": "numzfleet-ui",
  "name": "NUMZFLEET UI\n",
  "url": "http://127.0.0.1:3003/",
  "status_code": 200,
  "expected": 200,
  "ok": true,
  "latency_ms": 0
},{
  "id": "traccar",
  "name": "Traccar GPS\n",
  "url": "http://127.0.0.1:8082/",
  "status_code": 200,
  "expected": 200,
  "ok": true,
  "latency_ms": 0
},{
  "id": "numzdrive",
  "name": "NumzDrive\n",
  "url": "http://127.0.0.1:9080/",
  "status_code": 302,
  "expected": 200,
  "ok": true,
  "latency_ms": 0
},{
  "id": "station",
  "name": "Fuel Station API\n",
  "url": "http://127.0.0.1:3101/",
  "status_code": 200,
  "expected": 200,
  "ok": true,
  "latency_ms": 0
},{
  "id": "portainer",
  "name": "Portainer\n",
  "url": "http://127.0.0.1:9000/api/status",
  "status_code": 200,
  "expected": 200,
  "ok": true,
  "latency_ms": 0
},{
  "id": "smartpos",
  "name": "SMARTPOS\n",
  "url": "http://127.0.0.1:8080/",
  "status_code": 200,
  "expected": 200,
  "ok": true,
  "latency_ms": 0
},{
  "id": "smartpos-api",
  "name": "SMARTPOS API\n",
  "url": "http://127.0.0.1:4000/api/health",
  "status_code": 200,
  "expected": 200,
  "ok": true,
  "latency_ms": 0
},{
  "id": "dashboard",
  "name": "NUMZ-LAB\n",
  "url": "http://127.0.0.1:8888/",
  "status_code": 200,
  "expected": 200,
  "ok": true,
  "latency_ms": 0
},{
  "id": "brainwave-port",
  "name": "Brainwave UI (port)\n",
  "url": "http://127.0.0.1:3040/",
  "status_code": 200,
  "expected": 200,
  "ok": true,
  "latency_ms": 0
},{
  "id": "brainwave-api-port",
  "name": "Brainwave API (port)\n",
  "url": "http://127.0.0.1:3041/api/docs",
  "status_code": 200,
  "expected": 200,
  "ok": true,
  "latency_ms": 0
},{
  "id": "assistant",
  "name": "Numz Assistant\n",
  "url": "https://127.0.0.1:443/",
  "status_code": 0,
  "expected": 200,
  "ok": false,
  "latency_ms": 0
},{
  "id": "brainwave-postgres",
  "name": "Brainwave Postgres",
  "url": "docker://brainwave-postgres",
  "status_code": 0,
  "expected": 0,
  "ok": true,
  "latency_ms": 0,
  "detail": "healthy"
}],
  "network": {"mode": "wifi-first", "enforced": true, "default_route_device": "wlp2s0", "internet_via": "wlp2s0", "route_matches_mode": true, "default_routes": [{"dev": "wlp2s0", "metric": 50, "line": "default via 10.64.155.105 dev wlp2s0 proto dhcp src 10.64.155.236 metric 50"}, {"dev": "enp1s0", "metric": 500, "line": "default via 192.168.1.1 dev enp1s0 proto dhcp src 192.168.1.178 metric 500"}, {"dev": "enp1s0", "metric": 500, "line": "default via 192.168.1.1 dev enp1s0 proto dhcp src 192.168.1.177 metric 500"}], "wifi": {"iface": "wlp2s0", "connection": "Numz-hotspot", "ssid": "Numz-hotspot", "state": "100 (connected)", "ip": "10.64.155.236", "route_metric": 50, "connected": true, "carrying_internet": true}, "ethernet": {"iface": "enp1s0", "connection": "enp1s0", "ip": "192.168.1.178", "route_metric": 500, "carrying_internet": false}},
  "backups": {"status": "missing", "fresh": false, "services": [], "volumes": []},
  "alerts": [{"level":"warn","message":"Shared infra-postgres is not deployed"},{"level":"warn","message":"NUMZFLEET staging registry deploy marker missing"},{"level":"warn","message":"No database backups found in /srv/backups/databases"}]
}
