FROM python:3.8.13-slim as python-base
ENV PYTHONUNBUFFERED=1 \
    PYTHONDONTWRITEBYTECODE=1 \
    PIP_NO_CACHE_DIR=off \
    PIP_DISABLE_PIP_VERSION_CHECK=on \
    PIP_DEFAULT_TIMEOUT=100 \
    POETRY_VERSION=1.1.13 \
    POETRY_HOME="/opt/poetry" \
    POETRY_VIRTUALENVS_IN_PROJECT=true \
    POETRY_NO_INTERACTION=1 \
    PYSETUP_PATH="/opt/pysetup" \
    VENV_PATH="/opt/pysetup/.venv"

ENV PATH="$POETRY_HOME/bin:$VENV_PATH/bin:$PATH"


FROM python-base as builder-base
RUN apt-get update \
    && apt-get install --no-install-recommends -y curl wget unzip build-essential

RUN curl -sSL https://install.python-poetry.org | python3 -

WORKDIR $PYSETUP_PATH
COPY poetry.lock pyproject.toml ./

RUN poetry install --no-dev --no-root

#ARG AWS_DEFAULT_REGION
#ARG AWS_ACCESS_KEY_ID
#ARG AWS_SECRET_ACCESS_KEY
#
#ENV AWS_DEFAULT_REGION ${AWS_DEFAULT_REGION}
#ENV AWS_ACCESS_KEY_ID ${AWS_ACCESS_KEY_ID}
#ENV AWS_SECRET_ACCESS_KEY ${AWS_SECRET_ACCESS_KEY}
#
#RUN pip install awscli
#RUN AWS_ACCESS_KEY_ID=AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY=AWS_SECRET_ACCESS_KEY aws s3 cp s3://dev-orcd-airflow/dags/ ./ --recursive --region us-east-1

FROM python-base as deploy

COPY --from=builder-base $PYSETUP_PATH $PYSETUP_PATH

# Install curl for ECS health check and AWS CLI to access S3
RUN apt-get update \
    && apt-get install -y curl awscli

ADD audience/entrypoint.sh /
RUN chmod +x /entrypoint.sh

ADD . /var/app
WORKDIR /var/app
COPY audience/app.py .
COPY audience/functions /var/app/functions
COPY audience/.streamlit /var/app/.streamlit

EXPOSE 8080

ENTRYPOINT ["/entrypoint.sh"]
