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