FROM python:3.8.2-slim

ARG REVISION
ARG BUILDTIME
ARG PKG_VERSION
LABEL REVISION=${REVISION}
LABEL BUILDTIME=${BUILDTIME}

# Copy pip configs for private repo
RUN mkdir -p /root/.config/pip/
COPY configs/pip.conf /root/.config/pip/
COPY configs/.pypirc /root/
COPY configs/openssl.cnf /etc/ssl/openssl_custom.cnf

RUN groupadd -r -g 1000 sme \
    && useradd -N -m -d /app -r -G sme -u 1000 sme \
    && apt-get update \
    && apt-get install --no-install-recommends -yq \
      build-essential \
      libxml2-dev \
      libxslt1-dev \
      libffi-dev \
      libssl-dev \
      curl \
      make \
    && rm -rf /var/lib/apt/lists/*

WORKDIR /app

COPY requirements/base.txt ./requirements.txt

ENV APP_USER=sme APP_GROUP=sme
ENV ROOT_USER=root ROOT_GROUP=root
ENV OPENSSL_CONF=/etc/ssl/openssl_custom.cnf

RUN pip install --upgrade pip setuptools wheel\
    && pip install -r requirements.txt \
    && pip install ui_automation_framework==${PKG_VERSION} \
    && mkdir -p /usr/local/lib/python3.8/screenshots \
    && chown ${APP_USER}:${APP_GROUP} /usr/local/lib/python3.8/screenshots \
    && chmod 755 /usr/local/lib/python3.8/screenshots

USER ${APP_USER}
