| ARG RELEASE |
| ARG LAUNCHPAD_BUILD_ARCH |
| LABEL org.opencontainers.image.ref.name=ubuntu |
| LABEL org.opencontainers.image.version=20.04 |
| ADD file:f9ee450324e6ff2c946bc9aae5cf7e35e240dbd387d8b9f5ee1ed5b8434b9894 in / |
| CMD ["/bin/bash"] |
| ENV DEBIAN_FRONTEND=noninteractive |
| ENV TZ=America/Detroit |
| RUN /bin/sh -c ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo "$TZ" > /etc/timezone # buildkit |
| ARG TARGETARCH=amd64 |
| RUN |1 TARGETARCH=amd64 /bin/sh -c set -eux; if [ "$TARGETARCH" = "arm64" ]; then BASE_URL="http://ports.ubuntu.com/ubuntu-ports"; ARCH_TAG="[arch=arm64]"; else BASE_URL="http://archive.ubuntu.com/ubuntu"; ARCH_TAG="[arch=amd64]"; fi; cat > /etc/apt/sources.list <<EOF
deb ${ARCH_TAG} ${BASE_URL} focal main restricted universe multiverse
deb ${ARCH_TAG} ${BASE_URL} focal-updates main restricted universe multiverse
deb ${ARCH_TAG} ${BASE_URL} focal-backports main restricted universe multiverse
deb ${ARCH_TAG} ${BASE_URL} focal-security main restricted universe multiverse
EOF # buildkit |
| RUN |1 TARGETARCH=amd64 /bin/sh -c apt-get update # buildkit |
| RUN |1 TARGETARCH=amd64 /bin/sh -c yes | unminimize # buildkit |
| RUN |1 TARGETARCH=amd64 /bin/sh -c apt install language-pack-zh-hans -y # buildkit |
| RUN |1 TARGETARCH=amd64 /bin/sh -c echo LANG="zh_CN.UTF-8" >> /etc/environment # buildkit |
| RUN |1 TARGETARCH=amd64 /bin/sh -c echo LANGUAGE="zh_CN:zh:en_US:en" >> /etc/environment # buildkit |
| RUN |1 TARGETARCH=amd64 /bin/sh -c echo LANG="zh_CN.UTF-8" >> /etc/profile # buildkit |
| RUN |1 TARGETARCH=amd64 /bin/sh -c echo LANGUAGE="zh_CN:zh:en_US:en" >> /etc/profile # buildkit |
| RUN |1 TARGETARCH=amd64 /bin/sh -c echo LANG="zh_CN.UTF-8" >> ~/.bashrc # buildkit |
| RUN |1 TARGETARCH=amd64 /bin/sh -c echo LANGUAGE="zh_CN:zh:en_US:en" >> ~/.bashrc # buildkit |
| RUN |1 TARGETARCH=amd64 /bin/sh -c locale-gen # buildkit |
| RUN |1 TARGETARCH=amd64 /bin/sh -c /bin/bash -c "source ~/.bashrc" # buildkit |
| ARG DEBIAN_FRONTEND=noninteractive |
| RUN |2 TARGETARCH=amd64 DEBIAN_FRONTEND=noninteractive /bin/sh -c apt-get install -y xfce4 xfce4-terminal # buildkit |
| RUN |2 TARGETARCH=amd64 DEBIAN_FRONTEND=noninteractive /bin/sh -c apt install dbus-x11 -y # buildkit |
| RUN |2 TARGETARCH=amd64 DEBIAN_FRONTEND=noninteractive /bin/sh -c apt install fonts-wqy-microhei -y # buildkit |
| RUN |2 TARGETARCH=amd64 DEBIAN_FRONTEND=noninteractive /bin/sh -c apt install -y gnome-user-docs-zh-hans language-pack-gnome-zh-hans fcitx fcitx-pinyin fcitx-table-wubi vim less ca-certificates # buildkit |
| RUN |2 TARGETARCH=amd64 DEBIAN_FRONTEND=noninteractive /bin/sh -c sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' # buildkit |
| RUN |2 TARGETARCH=amd64 DEBIAN_FRONTEND=noninteractive /bin/sh -c apt-get install curl -y # buildkit |
| RUN |2 TARGETARCH=amd64 DEBIAN_FRONTEND=noninteractive /bin/sh -c apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654 # buildkit |
| RUN |2 TARGETARCH=amd64 DEBIAN_FRONTEND=noninteractive /bin/sh -c apt-get update # buildkit |
| RUN |2 TARGETARCH=amd64 DEBIAN_FRONTEND=noninteractive /bin/sh -c apt install ros-noetic-desktop-full -y # buildkit |
| RUN |2 TARGETARCH=amd64 DEBIAN_FRONTEND=noninteractive /bin/sh -c echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc # buildkit |
| RUN |2 TARGETARCH=amd64 DEBIAN_FRONTEND=noninteractive /bin/sh -c /bin/bash -c "source ~/.bashrc" # buildkit |
| RUN |2 TARGETARCH=amd64 DEBIAN_FRONTEND=noninteractive /bin/sh -c apt-get install -y ros-noetic-pcl-ros ros-noetic-velodyne-msgs libopencv-dev libgoogle-glog-dev libeigen3-dev libsuitesparse-dev libpcl-dev libyaml-cpp-dev libbtbb-dev libgmock-dev pcl-tools libspdlog-dev libqglviewer-dev-qt5 git # buildkit |
| RUN |2 TARGETARCH=amd64 DEBIAN_FRONTEND=noninteractive /bin/sh -c apt-get update && apt-get install -y software-properties-common && add-apt-repository -y ppa:ubuntu-toolchain-r/test && apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends gcc-11 g++-11 build-essential cmake git pkg-config libeigen3-dev libjpeg-turbo8-dev libpng-dev libtiff-dev libopenexr-dev liblz4-dev libzstd-dev libgl1-mesa-dev libegl1-mesa-dev libgles2-mesa-dev libxkbcommon-dev libwayland-dev wayland-protocols libepoxy-dev # buildkit |
| WORKDIR /root/software |
| RUN |2 TARGETARCH=amd64 DEBIAN_FRONTEND=noninteractive /bin/sh -c git clone https://github.com/stevenlovegrove/Pangolin.git && cd Pangolin && git checkout v0.9.4 && mkdir -p build && cd build && cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=gcc-11 -DCMAKE_CXX_COMPILER=g++-11 -DCMAKE_DISABLE_FIND_PACKAGE_OpenEXR=ON -DBUILD_EXAMPLES=OFF -DBUILD_TOOLS=OFF .. && make -j2 && make install && ldconfig # buildkit |
| RUN |2 TARGETARCH=amd64 DEBIAN_FRONTEND=noninteractive /bin/sh -c apt-get install tigervnc-standalone-server x11vnc -y # buildkit |
| WORKDIR /root/.vnc |
| COPY ./docker/xstartup ./ # buildkit |
| RUN |2 TARGETARCH=amd64 DEBIAN_FRONTEND=noninteractive /bin/sh -c chmod u+x ~/.vnc/xstartup # buildkit |
| WORKDIR /usr/lib |
| RUN |2 TARGETARCH=amd64 DEBIAN_FRONTEND=noninteractive /bin/sh -c git clone https://github.com/novnc/noVNC.git -o noVNC # buildkit |
| WORKDIR /usr/lib/noVNC/utils |
| RUN |2 TARGETARCH=amd64 DEBIAN_FRONTEND=noninteractive /bin/sh -c git clone https://github.com/novnc/websockify.git -o websockify # buildkit |
| WORKDIR / |
| COPY ./docker/startup.sh ./ # buildkit |
| RUN |2 TARGETARCH=amd64 DEBIAN_FRONTEND=noninteractive /bin/sh -c chmod u+x startup.sh # buildkit |
| ENTRYPOINT ["./startup.sh"] |