FROM python:3.11-slim

# Set up user
ARG UID
ARG GID
RUN useradd --system --uid ${UID} --gid ${GID} --create-home --shell /bin/bash groceries
RUN usermod -aG ${GID} groceries

ARG DEBIAN_FRONTEND="noninteractive"
ENV PYTHONDONTWRITEBYTECODE=1
ENV PYTHONUNBUFFERED=1
ENV DJANGO_RELEASE=1

# Set up directories
ENV HOME=/home/groceries
ENV APP_DIR=${HOME}/web
ENV DATA_DIR=${HOME}/data

RUN mkdir -p ${APP_DIR}
RUN mkdir -p ${DATA_DIR}

WORKDIR ${APP_DIR}

RUN apt-get update
RUN apt-get install --yes --no-install-recommends wget

# Build pip requirements
ADD ./requirements.txt .
RUN pip install --upgrade pip
RUN pip install -r requirements.txt

# Copy files
ADD . ${APP_DIR}
RUN chown -R ${UID}:${GID} ${HOME}
RUN chmod +x entrypoint.sh

USER groceries

ENTRYPOINT [ "/home/groceries/web/entrypoint.sh" ]


