ARG ROS=humble FROM osrf/ros:${ROS}-desktop-full #SSH (First to hopefully keep keys, even on modification.) RUN apt-get update && apt-get install -y openssh-server && rm -rf /var/lib/apt/lists/* #OpenGL RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y xserver-xorg-video-all libgl1-mesa-glx libgl1-mesa-dri libglvnd0 libgl1 libglx0 libegl1 libxext6 libx11-6 && rm -rf /var/lib/apt/lists/* #Vulkan RUN apt-get update && apt-get install -y libvulkan1 mesa-vulkan-drivers vulkan-tools mesa-utils && rm -rf /var/lib/apt/lists/* #Utils RUN apt-get update && apt-get install -y git ninja-build git bash-completion clangd ccls && rm -rf /var/lib/apt/lists/* #Rosdeps RUN apt-get update && apt-get install -y git ros-humble-ament-cmake ros-humble-moveit ros-humble-behaviortree-cpp-v3 ros-humble-ros-ign-gazebo && rm -rf /var/lib/apt/lists/* RUN mkdir /run/sshd ARG G_ID=1000 ARG U_ID=1000 RUN groupadd -f -g ${G_ID} ros RUN useradd -u ${U_ID} -g ${G_ID} -m ros COPY entrypoint.sh /entrypoint.sh RUN chmod +x /entrypoint.sh CMD ["/usr/bin/bash", "-c", "/entrypoint.sh", "${ROS_NAME}"]