ARG BASE_IMAGE=python:3.8.16-slim
FROM $BASE_IMAGE as runtime-environment

# install gcc and other dependencies
RUN apt-get update --yes

RUN apt-get install gcc curl --yes

# add kedro user
ARG KEDRO_UID=999
ARG KEDRO_GID=0

RUN groupadd -f -g ${KEDRO_GID} kedro_group && \
useradd -m -d /home/kedro_docker -s /bin/bash -g ${KEDRO_GID} -u ${KEDRO_UID} kedro_docker && \
chmod a+x /usr/local/bin/pip

WORKDIR /home/kedro_docker

COPY ./pipeline/pyproject.toml ./pipeline/poetry.lock* ./

RUN pip install --upgrade pip && pip install "poetry==1.5.1"

ENV PATH="/home/kedro_docker/.local/bin:$PATH"

RUN poetry config virtualenvs.create false

RUN poetry install --no-interaction

COPY --chown=${KEDRO_UID}:${KEDRO_GID} ./pipeline /home/kedro_docker/pipeline/

COPY --chown=${KEDRO_UID}:${KEDRO_GID} ./app/backend/models.py   /home/kedro_docker/db/models.py 

COPY --chown=${KEDRO_UID}:${KEDRO_GID} ./app/backend/database.py   /home/kedro_docker/db/database.py 

RUN touch /home/kedro_docker/db/__init__.py 

ENV PYTHONPATH=/home/kedro_docker/db

USER kedro_docker


# ENTRYPOINT ["kedro", "run"]
