28 lines
627 B
Docker
28 lines
627 B
Docker
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"]
|