Docker Update 2
This commit is contained in:
67
Dockerfile
67
Dockerfile
@@ -41,22 +41,32 @@ RUN apt-get update && apt-get install -y \
|
||||
python3-pip \
|
||||
python3-venv \
|
||||
python3-dev \
|
||||
# Graphics / X11
|
||||
# Graphics / X11 / Vulkan
|
||||
libgl1 \
|
||||
libglx-mesa0 \
|
||||
libgl1-mesa-dri \
|
||||
mesa-utils \
|
||||
x11-apps \
|
||||
# Video recording
|
||||
libxcb-xinerama0 \
|
||||
libxkbcommon-x11-0 \
|
||||
libxcb-cursor0 \
|
||||
libxcb-icccm4 \
|
||||
libxcb-keysyms1 \
|
||||
libxcb-shape0 \
|
||||
libvulkan1 \
|
||||
# Video recording & codecs
|
||||
ffmpeg \
|
||||
xdotool \
|
||||
wmctrl \
|
||||
libx264-dev \
|
||||
libx265-dev \
|
||||
# Networking
|
||||
netcat-openbsd \
|
||||
# GStreamer (for ArduPilot Gazebo plugin)
|
||||
# GStreamer (for ArduPilot Gazebo plugin video streaming)
|
||||
libgstreamer1.0-dev \
|
||||
libgstreamer-plugins-base1.0-dev \
|
||||
gstreamer1.0-plugins-bad \
|
||||
gstreamer1.0-plugins-good \
|
||||
gstreamer1.0-libav \
|
||||
gstreamer1.0-gl \
|
||||
# OpenCV
|
||||
@@ -70,12 +80,12 @@ RUN curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o
|
||||
&& echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu noble main" > /etc/apt/sources.list.d/ros2.list \
|
||||
&& apt-get update \
|
||||
&& apt-get install -y \
|
||||
ros-jazzy-ros-base \
|
||||
ros-jazzy-geometry-msgs \
|
||||
ros-jazzy-std-msgs \
|
||||
ros-jazzy-nav-msgs \
|
||||
ros-jazzy-sensor-msgs \
|
||||
ros-jazzy-ros-gz \
|
||||
ros-jazzy-ros-base \
|
||||
ros-jazzy-geometry-msgs \
|
||||
ros-jazzy-std-msgs \
|
||||
ros-jazzy-nav-msgs \
|
||||
ros-jazzy-sensor-msgs \
|
||||
ros-jazzy-ros-gz \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# =============================================================================
|
||||
@@ -85,18 +95,18 @@ RUN wget https://packages.osrfoundation.org/gazebo.gpg -O /usr/share/keyrings/pk
|
||||
&& echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/pkgs-osrf-archive-keyring.gpg] http://packages.osrfoundation.org/gazebo/ubuntu-stable noble main" > /etc/apt/sources.list.d/gazebo-stable.list \
|
||||
&& apt-get update \
|
||||
&& apt-get install -y \
|
||||
gz-harmonic \
|
||||
# Development packages for building ardupilot_gazebo plugin
|
||||
libgz-cmake3-dev \
|
||||
libgz-sim8-dev \
|
||||
libgz-plugin2-dev \
|
||||
libgz-common5-dev \
|
||||
libgz-physics7-dev \
|
||||
libgz-sensors8-dev \
|
||||
libgz-rendering8-dev \
|
||||
libgz-transport13-dev \
|
||||
libgz-msgs10-dev \
|
||||
rapidjson-dev \
|
||||
gz-harmonic \
|
||||
# Development packages for building ardupilot_gazebo plugin
|
||||
libgz-cmake3-dev \
|
||||
libgz-sim8-dev \
|
||||
libgz-plugin2-dev \
|
||||
libgz-common5-dev \
|
||||
libgz-physics7-dev \
|
||||
libgz-sensors8-dev \
|
||||
libgz-rendering8-dev \
|
||||
libgz-transport13-dev \
|
||||
libgz-msgs10-dev \
|
||||
rapidjson-dev \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# =============================================================================
|
||||
@@ -106,11 +116,18 @@ ARG USERNAME=pilot
|
||||
ARG USER_UID=1000
|
||||
ARG USER_GID=1000
|
||||
|
||||
RUN groupadd --gid $USER_GID $USERNAME \
|
||||
&& useradd --uid $USER_UID --gid $USER_GID -m $USERNAME \
|
||||
&& apt-get update \
|
||||
# Create user - handle case where GID/UID 1000 may already exist
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y sudo \
|
||||
&& echo $USERNAME ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$USERNAME \
|
||||
# Create group if it doesn't exist, or use existing
|
||||
&& (getent group $USER_GID || groupadd --gid $USER_GID $USERNAME) \
|
||||
# Create user if doesn't exist
|
||||
&& (id -u $USER_UID >/dev/null 2>&1 || useradd --uid $USER_UID --gid $USER_GID -m $USERNAME) \
|
||||
# Ensure home directory exists and has correct ownership
|
||||
&& mkdir -p /home/$USERNAME \
|
||||
&& chown $USER_UID:$USER_GID /home/$USERNAME \
|
||||
# Add sudo permissions
|
||||
&& echo "$USERNAME ALL=(root) NOPASSWD:ALL" > /etc/sudoers.d/$USERNAME \
|
||||
&& chmod 0440 /etc/sudoers.d/$USERNAME \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
|
||||
Reference in New Issue
Block a user