FROM python:3.12-slim

ARG BUILD_VERSION=unknown
ARG BUILD_TIME=unknown
ARG GIT_COMMIT=unknown

ENV PYTHONDONTWRITEBYTECODE=1 \
    PYTHONUNBUFFERED=1 \
    FLASK_APP=app.py \
    FLASK_ENV=production \
    BUILD_VERSION=${BUILD_VERSION} \
    BUILD_TIME=${BUILD_TIME} \
    GIT_COMMIT=${GIT_COMMIT}

WORKDIR /app

RUN pip install --upgrade --no-cache-dir pip

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

COPY app.py .
COPY templates/ templates/

ENV DATA_DIR=/app/instance \
    PORT=9756 \
    HOST=0.0.0.0

RUN mkdir -p /app/instance

EXPOSE 9756

CMD ["sh", "-c", "python app.py"]
