# syntax=docker/dockerfile:1.3 FROM ros:jazzy-ros-core # Build argument provided by buildx/BuildKit: `TARGETARCH` (amd64, arm64, etc.). # Default to amd64 when not provided. ARG TARGETARCH=amd64 ARG GRAPICAL_ENV=TRUE # Install dependencies and setup for GUI applications ENV DISPLAY=:0 ENV WAYLAND_DISPLAY=wayland-0 ENV XDG_SESSION_TYPE=x11 ENV XDG_RUNTIME_DIR=/mnt/wslg/runtime-dir #If debug, install the following: RUN if [ "$GRAPHICAL_ENV" = "TRUE" ]; then \ apt update && apt install -y libgl1-mesa-dev libosmesa6-dev libglew-dev libgles2-mesa-dev libglfw3-dev libstdc++6 mesa-utils; \ fi #TODO we're installing unneccessary things like the humanity-icons package, clean this up later. mkdir -p ~/ros2_ws/src pushd ~/ros2_ws git clone https://github.com/Exwayz-Navigation/exwayz_msgs.git src/exwayz_msgs colcon build --packages-select exwayz_msgs --parallel-workers 2 popd source $HOME/ros2_ws/install/local_setup.bash #resp. local_setup.zsh # Set entrypoint ENTRYPOINT ["/ros_entrypoint.sh"]