-
Notifications
You must be signed in to change notification settings - Fork 0
/
Dockerfile
56 lines (45 loc) · 1.44 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
FROM osrf/ros:jazzy-desktop
ENV ROS_DISTRO jazzy
ENV USER_NAME root
RUN apt-get update -y \
&& apt-get install --no-install-recommends -y \
# Install Video for Linux
v4l-utils -y \
# Install lsusb
usbutils \
# Install nano
nano \
# Install ssh
ssh \
# Install pip
python3-pip \
# Install geographiclib dependencies for mavros.
geographiclib-tools \
&& apt-get upgrade -y \
# Clean for better performance
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
# Done here because file needs sudo perms
# Switch to bash so the process subsition works. aka <()
# Runs MAVROS helper install script
SHELL ["/bin/bash", "-c"]
RUN . <(wget -qO- https://raw.githubusercontent.com/mavlink/mavros/ros2/mavros/scripts/install_geographiclib_datasets.sh)
WORKDIR /home/
# Setup Ardusub
COPY src/surface/rov_gazebo/scripts/ardusub.sh .
RUN ./ardusub.sh \
&& rm ardusub.sh
# Setup Ardupilot Gazebo
COPY src/surface/rov_gazebo/scripts/ardupilot_gazebo.sh .
RUN ./ardupilot_gazebo.sh \
&& rm ardupilot_gazebo.sh
WORKDIR /home/${USER_NAME}/rov-25
COPY . .
RUN .vscode/install_dependencies.sh
# TODO: for future nerd to do this via ENTRYPOINT which be better but, I could not get ENTRYPOINT to play with VsCODE.
RUN .vscode/rov_setup.sh
# Setup Models and Gazebo Environment
RUN ./src/surface/rov_gazebo/scripts/add_models_and_worlds.sh
# Do full build as last step
RUN source /opt/ros/${ROS_DISTRO}/setup.sh \
&& colcon build --symlink-install