ARG cuda_version=10.1
ARG cudnn_version=7
FROM nvidia/cuda:${cuda_version}-cudnn${cudnn_version}-devel

# ENV NB_USER kerasTester
# ENV NB_UID 1000

ARG NB_USER="kerasTester"
ARG NB_UID="1000"
ARG NB_GID="100"

# RUN mkdir /userdata/kerasData

RUN apt-get update && \
      apt-get -y install sudo


# RUN useradd -m -s /bin/bash -N -u $NB_UID $NB_USER && \
    # chown $NB_USER $CONDA_DIR -R && \
    # chown $NB_USER /userdata/kerasData -R && \
    #    chown $NB_USER / -R && \
    # mkdir -p / && \
    # chpasswd $NB_USER:test && \
    # usermod -aG sudo $NB_USER

WORKDIR /userdata/kerasData

# Install system packages
RUN apt-get update && apt-get install -y --no-install-recommends \
      bzip2 \
      g++ \
      git \
      graphviz \
      libgl1-mesa-glx \
      libhdf5-dev \
      openmpi-bin \
      xvfb \
      screen \
      wget && \
    rm -rf /var/lib/apt/lists/*

# Install conda
# ENV CONDA_DIR /opt/conda

ENV CONDA_DIR=/opt/conda \
    SHELL=/bin/bash \
    NB_USER=$NB_USER \
    NB_UID=$NB_UID \
    NB_GID=$NB_GID 

# ENV PATH $CONDA_DIR/bin \
#  HOME /userdata/kerasData

ENV PATH $CONDA_DIR/bin \
  HOME=/userdata/kerasData

RUN echo "auth requisite pam_deny.so" >> /etc/pam.d/su && \
    sed -i.bak -e 's/^%admin/#%admin/' /etc/sudoers && \
    sed -i.bak -e 's/^%sudo/#%sudo/' /etc/sudoers && \
    useradd -m -s /bin/bash -N -u $NB_UID $NB_USER && \
    mkdir -p $CONDA_DIR && \
    chown $NB_USER:$NB_GID $CONDA_DIR && \
    chmod g+w /etc/passwd && \
    fix-permissions $HOME && \
    fix-permissions $CONDA_DIR

USER $NB_UID
WORKDIR $HOME

RUN wget --quiet https://repo.anaconda.com/miniconda/Miniconda3-4.7.12.1-Linux-x86_64.sh -O ~/miniconda.sh && \
    /bin/bash ~/miniconda.sh -b -p /opt/conda && \
    rm ~/miniconda.sh && \
    /opt/conda/bin/conda clean -tipsy && \
    ln -s /opt/conda/etc/profile.d/conda.sh /etc/profile.d/conda.sh && \
    echo ". /opt/conda/etc/profile.d/conda.sh" >> ~/.bashrc && \
    echo "conda activate base" >> ~/.bashrc

# Install Python packages and keras

ARG python_version=3.6

RUN conda config --append channels conda-forge
RUN conda install -y python=${python_version} && \
    pip install --upgrade pip && \
    pip install \
      sklearn_pandas \
      opencv-python \
      tensorflow-gpu \
      cntk-gpu && \
    conda install \
      bcolz \
      h5py \
      statsmodels \
      matplotlib \
      mkl \
      nose \
      notebook \
      Pillow \
      pandas \
      pydot \
      pygpu \
      pyyaml \
      scikit-learn \
      six \
      theano \
      mkdocs \
      numpy=1.18

RUN pip install keras

# RUN git clone git://github.com/keras-team/keras.git /src && pip install -e /src[tests]
RUN conda clean -yt
    # pip install git+git://github.com/keras-team/keras.git && \

USER $NB_USER
 
#ADD theanorc /home/keras/.theanorc
ENV LC_ALL=C.UTF-8
ENV LANG=C.UTF-8

ENV PYTHONPATH='/src/:$PYTHONPATH'