FROM python:3.11-alpine AS base FROM base AS build COPY requirements.txt . RUN python -m pip install --user -r requirements.txt FROM base AS app ENV PATH=$PATH:/app/.local/bin RUN adduser -u 4000 -h /app -D appuser WORKDIR /app USER appuser COPY --chown=appuser --from=build /root/.local /app/.local COPY slinky slinky/ COPY templates templates/ COPY config.yaml . COPY main.py . FROM app ENV PYTHONDONTWRITEBYTECODE=1 ENV PYTHONUNBUFFERED=1 ENV PYTHONPATH=/app ENTRYPOINT ["waitress-serve", "main:app"] EXPOSE 8080/tcp