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" ]