ff6cf1cd5e
Serveur:
- Modèles Go: NetworkInterface, HardwareInfo dans Agent + AgentMetrics
- DB: migrations network_info_json + hardware_info_json dans agents
- UpsertAgent: stocke les données lentes si présentes dans le payload
- GetAgents: désérialise network_info_json + hardware_info_json
- GET /api/agents/{id}: endpoint single agent
- docker-compose: service iperf3 (port 5201)
Dashboard:
- Popup détail: section RÉSEAU (tableau interfaces: type, vitesse, MAC, WoL, iperf3)
- Popup détail: section HARDWARE (carte mère, CPU, RAM slots/type/vitesse)
- CSS: .net-table/.net-row pour le tableau réseau
- Font-size global appliqué sur html root (au lieu de body)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
43 lines
1.0 KiB
YAML
43 lines
1.0 KiB
YAML
services:
|
|
server:
|
|
build:
|
|
context: .
|
|
pull: false
|
|
args:
|
|
GO_IMAGE: ${GO_IMAGE:-public.ecr.aws/docker/library/golang:1.25-alpine}
|
|
restart: unless-stopped
|
|
environment:
|
|
UDP_ADDR: "0.0.0.0:9999"
|
|
DB_PATH: "/data/nanometrics.db"
|
|
HTTP_ADDR: "0.0.0.0:8080"
|
|
MQTT_BROKER: "tcp://10.0.0.3:1883"
|
|
MQTT_TOPIC_BASE: "nanometrics/agents"
|
|
volumes:
|
|
- nanometrics_data:/data
|
|
ports:
|
|
- "9999:9999/udp"
|
|
|
|
dashboard:
|
|
image: ${NGINX_IMAGE:-public.ecr.aws/docker/library/nginx:alpine}
|
|
pull_policy: if_not_present
|
|
restart: unless-stopped
|
|
volumes:
|
|
- ./nginx/nginx.conf:/etc/nginx/conf.d/default.conf:ro
|
|
- ../dashboard:/usr/share/nginx/html:ro
|
|
ports:
|
|
- "80:80"
|
|
depends_on:
|
|
- server
|
|
|
|
iperf3:
|
|
image: ${IPERF3_IMAGE:-public.ecr.aws/docker/library/networkstatic/iperf3:latest}
|
|
pull_policy: if_not_present
|
|
restart: unless-stopped
|
|
command: ["-s"]
|
|
ports:
|
|
- "5201:5201/tcp"
|
|
- "5201:5201/udp"
|
|
|
|
volumes:
|
|
nanometrics_data:
|