|
@@ -0,0 +1,73 @@
|
|
|
|
+# Copyright (c) Contributors to the Open 3D Engine Project.
|
|
|
|
+# For complete copyright and license terms please see the LICENSE at the root of this distribution.
|
|
|
|
+#
|
|
|
|
+# SPDX-License-Identifier: Apache-2.0 OR MIT
|
|
|
|
+#
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+# Example usage:
|
|
|
|
+#
|
|
|
|
+# sudo DOCKER_BUILDKIT=1 docker build -t o3de_loft_demo:latest -f Dockerfile.ubuntu-20.04 .
|
|
|
|
+#
|
|
|
|
+
|
|
|
|
+FROM ros:galactic-ros-base-focal
|
|
|
|
+ARG minimal
|
|
|
|
+ENV WORKSPACE=/data/workspace
|
|
|
|
+ENV O3DE_REPO=https://github.com/o3de/o3de.git
|
|
|
|
+ENV ROS2_GEM_REPO=https://github.com/RobotecAI/o3de-ros2-gem.git
|
|
|
|
+ENV LOFT_GEM_REPO=https://github.com/o3de/loft-arch-vis-sample.git
|
|
|
|
+ENV O3DE_DEMO_REPO=https://github.com/RobotecAI/o3de-demo-project.git
|
|
|
|
+
|
|
|
|
+WORKDIR $WORKSPACE
|
|
|
|
+
|
|
|
|
+RUN apt-get update && apt-get upgrade -y
|
|
|
|
+
|
|
|
|
+# Add additional package repositories needed for packages
|
|
|
|
+RUN apt-get install -y --no-install-recommends gpg wget curl
|
|
|
|
+
|
|
|
|
+RUN wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | tee /usr/share/keyrings/kitware-archive-keyring.gpg >/dev/null && \
|
|
|
|
+ echo 'deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ focal main' | tee /etc/apt/sources.list.d/kitware.list >/dev/null
|
|
|
|
+
|
|
|
|
+RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections && \
|
|
|
|
+ curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg && \
|
|
|
|
+ /bin/bash -c 'source /etc/os-release && echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $UBUNTU_CODENAME main" | tee /etc/apt/sources.list.d/ros2.list > /dev/null'
|
|
|
|
+
|
|
|
|
+RUN apt-get update
|
|
|
|
+
|
|
|
|
+#
|
|
|
|
+# Install packages needed for cloning and building from the source repos
|
|
|
|
+#
|
|
|
|
+
|
|
|
|
+# Install the git and build tools
|
|
|
|
+RUN apt-get install -y --no-install-recommends git
|
|
|
|
+
|
|
|
|
+# Add additional ROS2/Galactic packages
|
|
|
|
+RUN /bin/bash -c 'source /opt/ros/galactic/setup.bash && \
|
|
|
|
+ apt install -y ros-${ROS_DISTRO}-desktop \
|
|
|
|
+ ros-${ROS_DISTRO}-slam-toolbox \
|
|
|
|
+ ros-${ROS_DISTRO}-navigation2 \
|
|
|
|
+ ros-${ROS_DISTRO}-nav2-bringup \
|
|
|
|
+ ros-${ROS_DISTRO}-pointcloud-to-laserscan \
|
|
|
|
+ ros-${ROS_DISTRO}-gazebo-msgs \
|
|
|
|
+ ros-${ROS_DISTRO}-ackermann-msgs \
|
|
|
|
+ ros-${ROS_DISTRO}-control-toolbox'
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+# Install the O3DE-specific required packages
|
|
|
|
+RUN apt-get install -y --no-install-recommends libglu1-mesa-dev \
|
|
|
|
+ mesa-common-dev \
|
|
|
|
+ libnvidia-gl-470
|
|
|
|
+
|
|
|
|
+# Clone the demo project and register the project
|
|
|
|
+RUN cd $WORKSPACE && \
|
|
|
|
+ git clone --single-branch --branch main --recursive $O3DE_DEMO_REPO
|
|
|
|
+
|
|
|
|
+COPY LaunchRViz.bash.ubuntu-20.04 /data/workspace/LaunchRViz.bash
|
|
|
|
+
|
|
|
|
+ENV NVIDIA_VISIBLE_DEVICES all
|
|
|
|
+ENV NVIDIA_DRIVER_CAPABILITIES all
|
|
|
|
+
|
|
|
|
+ENTRYPOINT ["/bin/bash", "-c"]
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|