FROM ubuntu:18.04

ARG DEBIAN_FRONTEND=noninteractive \
    OSVER=ubuntu1804 \
    LOCAL_USER_ID=1000 \
    LOCAL_GROUP_ID=1000 \
    CUDA_VER_MAJOR=10 \
    CUDA_VER_MINOR=2 \
    CUDA_DEB_URL=http://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda-repo-ubuntu1804-10-2-local-10.2.89-440.33.01_1.0-1_amd64.deb \
    CUDA_DEB_NAME=cuda-repo-ubuntu1804-10-2-local-10.2.89-440.33.01_1.0-1_amd64.deb \
    CUDA_PUB_PATH=/var/cuda-repo-10-2-local-10.2.89-440.33.01/7fa2af80.pub

RUN apt update \
    && apt-get install -y software-properties-common \
    && add-apt-repository -y ppa:jonathonf/ffmpeg-4 \
    && apt update \
    && apt-get install -y \
      wget \
      curl \
      git \
      build-essential \
      gcc-8 g++-8 \
      libavcodec58 \
      libavcodec-dev \
      libavutil56 \
      libavutil-dev \
      libavformat58 \
      libavformat-dev \
      libswresample3 \
      libswresample-dev \
      libavfilter7 \
      libavfilter-dev \
      libavdevice58 \
      libavdevice-dev \
      libass9 \
      libass-dev \
      openssl \
      libssl-dev \
    && wget -q https://developer.download.nvidia.com/compute/cuda/repos/${OSVER}/x86_64/cuda-${OSVER}.pin \
    && mv cuda-${OSVER}.pin /etc/apt/preferences.d/cuda-repository-pin-600 \
    && wget -q ${CUDA_DEB_URL} \
    && dpkg -i ${CUDA_DEB_NAME} \
    && apt-key add ${CUDA_PUB_PATH} \
    && apt-get update \
    && apt-get -y install cuda-drivers cuda-compiler-${CUDA_VER_MAJOR}-${CUDA_VER_MINOR} cuda-cudart-dev-${CUDA_VER_MAJOR}-${CUDA_VER_MINOR} cuda-driver-dev-${CUDA_VER_MAJOR}-${CUDA_VER_MINOR} cuda-nvrtc-dev-${CUDA_VER_MAJOR}-${CUDA_VER_MINOR} cuda-curand-dev-${CUDA_VER_MAJOR}-${CUDA_VER_MINOR} cuda-npp-dev-${CUDA_VER_MAJOR}-${CUDA_VER_MINOR} cuda-nvml-dev-${CUDA_VER_MAJOR}-${CUDA_VER_MINOR} \
    && rm -f ${CUDA_DEB_NAME} \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/* \
    && ln -s /usr/local/cuda-${CUDA_VER_MAJOR}.${CUDA_VER_MINOR} /usr/local/cuda

RUN useradd -u $LOCAL_USER_ID -m --user-group --shell /bin/bash rigaya
RUN groupmod -og $LOCAL_GROUP_ID rigaya
WORKDIR /home/rigaya
COPY . .
RUN chown -R rigaya:rigaya .
USER rigaya
ENV CXX=g++-8
