# sanad_api_r1 — standalone R1 fleet TELEMETRY agent. # # cp .env.example .env # set SERVER_URL + DEVICE_TOKEN + SN + DDS_INTERFACE # docker compose up -d --build # # Reads the R1's DDS state (rt/lowstate + rt/lf/bmsstate) and POSTs telemetry # every ~2s to the fleet server. network_mode: host is REQUIRED so the robot's # DDS traffic is visible (it does not traverse a NAT bridge). services: sanad-api-r1: build: context: . dockerfile: Dockerfile image: "${SANAD_API_R1_IMAGE:-sanad-api-r1:latest}" container_name: sanad-api-r1 network_mode: host # DDS visibility + outbound HTTPS restart: unless-stopped env_file: .env # Uncomment to run the synthetic-state generator instead of real DDS # (useful for a server-side smoke test before the robot is wired): # command: ["--simulate"]