FROM docker.io/python:3.12-slim as builder WORKDIR /app ENV PYTHONDONTWRITEBYTECODE 1 ENV PYTHONUNBUFFERED 1 COPY requirements.txt . RUN pip wheel --no-cache-dir --no-deps --wheel-dir /app/wheels -r requirements.txt FROM docker.io/python:3.12-slim ENV PYTHONDONTWRITEBYTECODE 1 ENV PYTHONUNBUFFERED 1 RUN useradd --no-create-home --system user && mkdir /data && chown user:user /data ENV DB_PATH /data/presence-tracker.sqlite WORKDIR /app COPY --from=builder /app/wheels /wheels COPY --from=builder /app/requirements.txt . RUN pip install --no-cache /wheels/* USER user COPY . . ENTRYPOINT ["python3", "/app/main.py"]