1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- FROM ubuntu:20.04
- ENV PYTHONUNBUFFERED 1
- ENV DEBIAN_FRONTEND=noninteractive
- RUN apt-get update && \
- apt-get install -y --no-install-recommends sudo tzdata locales ssh pulseaudio xvfb x11-xserver-utils gnome-screenshot && \
- rm -rf /var/lib/apt/lists/*
- RUN sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && locale-gen
- ENV LANG en_US.UTF-8
- ENV LANGUAGE en_US:en
- ENV LC_ALL en_US.UTF-8
- COPY tools/install_ubuntu_dependencies.sh /tmp/tools/
- RUN cd /tmp && \
- tools/install_ubuntu_dependencies.sh && \
- rm -rf /var/lib/apt/lists/* && \
- rm -rf /tmp/* && \
- # remove unused architectures from gcc for panda
- cd /usr/lib/gcc/arm-none-eabi/9.2.1 && \
- rm -rf arm/ && \
- rm -rf thumb/nofp thumb/v6* thumb/v8* thumb/v7+fp thumb/v7-r+fp.sp
- # Add OpenCL
- RUN apt-get update && apt-get install -y --no-install-recommends \
- apt-utils \
- alien \
- unzip \
- tar \
- curl \
- xz-utils \
- dbus \
- gcc-arm-none-eabi \
- tmux \
- vim \
- lsb-core \
- libx11-6 \
- && rm -rf /var/lib/apt/lists/*
- ARG INTEL_DRIVER=l_opencl_p_18.1.0.015.tgz
- ARG INTEL_DRIVER_URL=https://registrationcenter-download.intel.com/akdlm/irc_nas/vcp/15532
- RUN mkdir -p /tmp/opencl-driver-intel
- RUN cd /tmp/opencl-driver-intel && \
- echo INTEL_DRIVER is $INTEL_DRIVER && \
- curl -O $INTEL_DRIVER_URL/$INTEL_DRIVER && \
- tar -xzf $INTEL_DRIVER && \
- for i in $(basename $INTEL_DRIVER .tgz)/rpm/*.rpm; do alien --to-deb $i; done && \
- dpkg -i *.deb && \
- rm -rf $INTEL_DRIVER $(basename $INTEL_DRIVER .tgz) *.deb && \
- mkdir -p /etc/OpenCL/vendors && \
- echo /opt/intel/opencl_compilers_and_libraries_18.1.0.015/linux/compiler/lib/intel64_lin/libintelocl.so > /etc/OpenCL/vendors/intel.icd && \
- cd / && \
- rm -rf /tmp/opencl-driver-intel
- ENV NVIDIA_VISIBLE_DEVICES all
- ENV NVIDIA_DRIVER_CAPABILITIES graphics,utility,compute
- ENV QTWEBENGINE_DISABLE_SANDBOX 1
- RUN dbus-uuidgen > /etc/machine-id
- ARG USER=batman
- ARG USER_UID=1000
- RUN useradd -m -s /bin/bash -u $USER_UID $USER
- RUN usermod -aG sudo $USER
- RUN echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
- USER $USER
- ENV POETRY_VIRTUALENVS_CREATE=false
- ENV PYENV_VERSION=3.11.4
- ENV PYENV_ROOT="/home/$USER/pyenv"
- ENV PATH="$PYENV_ROOT/bin:$PYENV_ROOT/shims:$PATH"
- COPY --chown=$USER pyproject.toml poetry.lock .python-version /tmp/
- COPY --chown=$USER tools/install_python_dependencies.sh /tmp/tools/
- RUN cd /tmp && \
- tools/install_python_dependencies.sh && \
- rm -rf /tmp/* && \
- rm -rf /home/$USER/.cache && \
- find /home/$USER/pyenv -type d -name ".git" | xargs rm -rf && \
- rm -rf /home/$USER/pyenv/versions/3.11.4/lib/python3.11/test
- USER root
- RUN sudo git config --global --add safe.directory /tmp/openpilot
|