FROM ghcr.io/autowarefoundation/autoware-universe:humble-20240301-cuda

WORKDIR /ros_bridge

RUN curl -fsSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key \
    -o /usr/share/keyrings/ros-archive-keyring.gpg \
 && printf "deb [arch=%s signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu %s main\n" \
    "$(dpkg --print-architecture)" "$(. /etc/os-release && echo "$UBUNTU_CODENAME")" \
    > /etc/apt/sources.list.d/ros2.list \
 && apt-get update \
 && apt-get install -y --no-install-recommends \
    ros-humble-autoware-adapi-v1-msgs \
    ros-humble-autoware-planning-msgs \
    ros-humble-autoware-vehicle-msgs \
    ros-humble-nav2-msgs \
 && rm -rf /var/lib/apt/lists/*

COPY requirements.txt /ros_bridge/requirements.txt
RUN pip3 install --no-cache-dir -r /ros_bridge/requirements.txt

COPY bridge.py /ros_bridge/bridge.py

CMD bash -c "source /opt/ros/humble/setup.bash && if [ -f /autoware_ws/install/setup.bash ]; then source /autoware_ws/install/setup.bash; fi && python3 /ros_bridge/bridge.py"
