FROM python:3.12-alpine3.19

RUN adduser -h /opt/shiftregister -D shiftregister

USER shiftregister
WORKDIR /opt/shiftregister

ENV PATH="$PATH:/opt/shiftregister/.local/bin"

RUN pip install --no-cache-dir gunicorn

COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt

COPY . .
RUN mkdir -p static storage

EXPOSE 8000

ENTRYPOINT ["/opt/shiftregister/entrypoint.sh"]