FROM docker.io/library/ros:jazzy-ros-base

# ROS deps
RUN apt update && \
    apt install -y \
        ros-jazzy-cv-bridge \
        ros-jazzy-image-transport

# Image Stream Deps
RUN apt update && \
    apt install -y \
         libgstreamer-plugins-base1.0-dev \
         libgstreamer-plugins-good1.0-dev \
         libgstreamer-plugins-bad1.0-dev \
         libgstrtspserver-1.0-dev \
         gstreamer1.0-plugins-ugly \
         gstreamer1.0-plugins-bad


# Web deps
RUN apt update && \
    apt install -y curl
RUN curl -fsSL https://deb.nodesource.com/setup_22.x | bash -
RUN apt update && \
    apt install -y \
        nodejs \
        python3-aiohttp \
        inetutils-ping
RUN npm install -g corepack

# Copy in source code.
RUN mkdir /opt/robot_status_ui
WORKDIR /opt/robot_status_ui
COPY ./src/ /opt/robot_status_ui/
RUN . /opt/ros/jazzy/setup.sh && colcon build
