| ARG RELEASE |
| ARG LAUNCHPAD_BUILD_ARCH |
| LABEL org.opencontainers.image.ref.name=ubuntu |
| LABEL org.opencontainers.image.version=22.04 |
| ADD file:598bb7ba54e5a576778e9ebe1f4e514188812bea30c08d00446f8d04c37053e6 in / |
| CMD ["/bin/bash"] |
| ENV DEBIAN_FRONTEND=noninteractive |
| RUN /bin/sh -c apt-get update && apt-get install -y software-properties-common build-essential iputils-ping net-tools rsync curl wget neovim htop tmux openssh-client gnupg2 libopencv-dev libboost-all-dev python3 python3-pip python3-venv lsb-release libvulkan1 vulkan-tools x11-xserver-utils mesa-utils x11-apps xclip xterm libgl1 libglib2.0-0 git cmake cmake-gui ninja-build sudo # buildkit |
| RUN /bin/sh -c apt-get update && apt-get install -y --no-install-recommends curl ca-certificates && curl -fsSL https://deb.nodesource.com/setup_20.x | bash - && apt-get install -y --no-install-recommends nodejs # buildkit |
| RUN /bin/sh -c curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | gpg --dearmor -o /etc/apt/trusted.gpg.d/ros.gpg && echo "deb [arch=$(dpkg --print-architecture)] http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main" > /etc/apt/sources.list.d/ros2-latest.list && apt-get update && apt-get install -y ros-humble-desktop # buildkit |
| RUN /bin/sh -c apt-get install -y python3-colcon-common-extensions python3-rosdep python3-argcomplete python3-vcstool # buildkit |
| ARG HOME_DIR=/home/ros2 |
| RUN |1 HOME_DIR=/home/ros2 /bin/sh -c groupadd -g 1004 developer && groupadd -g 1005 ros2 # buildkit |
| RUN |1 HOME_DIR=/home/ros2 /bin/sh -c useradd -m -u 1001 -g ros2 -G developer,sudo -s /bin/bash ros2 && mkdir -p ${HOME_DIR} && chown -R ros2:ros2 ${HOME_DIR} # buildkit |
| RUN |1 HOME_DIR=/home/ros2 /bin/sh -c echo "ros2 ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers # buildkit |
| ARG VENV=/opt/venv |
| ARG VPYTHON=/opt/venv/bin/python3 |
| RUN |3 HOME_DIR=/home/ros2 VENV=/opt/venv VPYTHON=/opt/venv/bin/python3 /bin/sh -c python3 -m pip install --upgrade pip # buildkit |
| RUN |3 HOME_DIR=/home/ros2 VENV=/opt/venv VPYTHON=/opt/venv/bin/python3 /bin/sh -c python3 -m venv ${VENV} # buildkit |
| RUN |3 HOME_DIR=/home/ros2 VENV=/opt/venv VPYTHON=/opt/venv/bin/python3 /bin/sh -c ${VPYTHON} -m pip install --no-cache-dir torch torchvision --index-url https://download.pytorch.org/whl/cu129 # buildkit |
| RUN |3 HOME_DIR=/home/ros2 VENV=/opt/venv VPYTHON=/opt/venv/bin/python3 /bin/sh -c ${VPYTHON} -m pip install --no-cache-dir opencv-python==4.9.0.80 matplotlib pandas # buildkit |
| RUN |3 HOME_DIR=/home/ros2 VENV=/opt/venv VPYTHON=/opt/venv/bin/python3 /bin/sh -c rm -rf /var/lib/apt/lists/* # buildkit |
| COPY nvidia_icd.json /usr/share/vulkan/icd.d/nvidia_icd.json # buildkit |
| USER ros2 |
| COPY Xresources /home/ros2/.Xresources # buildkit |
| RUN |3 HOME_DIR=/home/ros2 VENV=/opt/venv VPYTHON=/opt/venv/bin/python3 /bin/sh -c echo "xrdb -merge ~/.Xresources" >> /home/ros2/.xinitrc # buildkit |
| RUN |3 HOME_DIR=/home/ros2 VENV=/opt/venv VPYTHON=/opt/venv/bin/python3 /bin/sh -c echo "source /opt/ros/humble/setup.bash" >> /home/ros2/.bashrc # buildkit |
| WORKDIR /home/ros2 |
| CMD ["bash"] |