services: # Driver + navigation (Nav2/SLAM). Default profile — `docker compose up go2`. go2: build: context: .. dockerfile: docker/Dockerfile image: go2-nav-vla:latest environment: - ROBOT_IP=${ROBOT_IP:?set ROBOT_IP to your Go2's LAN address} - ROBOT_TOKEN=${ROBOT_TOKEN:-} - CONN_TYPE=${CONN_TYPE:-webrtc} - DISPLAY=${DISPLAY:-} volumes: - /tmp/.X11-unix:/tmp/.X11-unix:ro # X11 forwarding, e.g. for rviz2 - ${HOME}/.Xauthority:/root/.Xauthority:rw network_mode: host # required: ROS 2 DDS discovery + Go2 WebRTC live on the LAN privileged: true # required: joystick/input device access devices: - /dev/input:/dev/input restart: unless-stopped command: ["ros2", "launch", "go2_navigation", "bringup.launch.py"] # Local VLA brain (Qwen2.5-VL) + web console, port 8001. Opt-in: # docker compose --profile vla up vlm # Requires the NVIDIA Container Toolkit on the host for GPU access. vlm: extends: go2 profiles: ["vla"] working_dir: /ros2_ws/src deploy: resources: reservations: devices: - driver: nvidia count: all capabilities: [gpu] command: ["./vlm/scripts/run_demo1.sh"]