Files
ros-raspbot-v2/docker-compose.yml
T

43 lines
1.1 KiB
YAML

# Both containers share the host network so ROS 2 DDS discovery works without
# any extra multicast configuration. Each container is given access only to
# the specific device it needs rather than running in privileged mode.
services:
robot:
build:
context: .
dockerfile: robot/Dockerfile
platforms:
- linux/arm64
image: raspbot_v2:latest
network_mode: host
devices:
- /dev/i2c-1:/dev/i2c-1
environment:
- ROS_DOMAIN_ID=${ROS_DOMAIN_ID:-0}
restart: unless-stopped
lidar:
build:
context: .
dockerfile: lidar/Dockerfile
platforms:
- linux/arm64
image: raspbot_v2_lidar:latest
network_mode: host
devices:
- ${LIDAR_PORT:-/dev/ttyUSB0}:${LIDAR_PORT:-/dev/ttyUSB0}
environment:
- ROS_DOMAIN_ID=${ROS_DOMAIN_ID:-0}
command:
- ros2
- launch
- sllidar_ros2
- sllidar_a1_launch.py
- serial_port:=${LIDAR_PORT:-/dev/ttyUSB0}
- frame_id:=${LIDAR_FRAME_ID:-laser}
- serial_baudrate:=115200
- angle_compensate:=true
restart: unless-stopped