# syntax=docker/dockerfile:1 FROM ubuntu:18.04 as base_image #run mkdir as root RUN mkdir -p /storage/app/EWS_prod/regions/EastAfrica/workspace RUN mkdir -p /storage/app/EWS_prod/regions/SouthAsia/workspace #create dirs WORKDIR /home #RUN mkdir /home/ewsmanager/code #copy resources in COPY ./conda-env-py3EWS-withbuilds.yml . #install system packages RUN apt-get update;apt-get install --assume-yes wget unzip emacs gdal-bin libgdal-dev build-essential gfortran zlib1g zlib1g-dev libbz2-dev apt-utils liblzma-dev libpcre++-dev libcurl4-openssl-dev default-jre lib32readline7 lib32readline6-dev openssh-server libfribidi-dev libfontconfig1-dev git; RUN echo "alias e='emacs -nw $1'" >> ~/.bashrc; #sets the timezone to London RUN DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC apt-get -y install tzdata # Install miniconda ENV CONDA_DIR /storage/app/miniconda3 RUN wget --quiet https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda.sh \ && /bin/bash ~/miniconda.sh -b -p $CONDA_DIR \ && rm -v ~/miniconda.sh; # Put conda in path so we can use conda activate ENV PATH=$CONDA_DIR/bin:$PATH #build the conda env(s) RUN conda env create --file conda-env-py3EWS-withbuilds.yml --prefix /storage/app/EWS_prod/envs/conda/py3EWS #tidy RUN rm -v conda-env-py3EWS-withbuilds.yml; #these usernames and ids match the production server (IaaS), override when building a local image if needed ARG GNAME=ews ARG UNAME=ewsmanager ARG UID=1006 ARG GID=1008 RUN groupadd -g $GID $GNAME RUN useradd -m -u $UID -g $GID -o -s /bin/bash $UNAME USER $UNAME RUN echo $PYTHONPATH WORKDIR /home/ewsmanager