FROM python:3.12-slim

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

ENV PYTHONDONTWRITEBYTECODE=1 \
    PYTHONUNBUFFERED=1 \
    FLASK_APP=app.py \
    BUILD_VERSION=${BUILD_VERSION} \
    GIT_COMMIT=${GIT_COMMIT} \
    BUILD_TIME=${BUILD_TIME} \
    PORT=5000 \
    HOST=0.0.0.0 \
    DATABASE=/app/instance/punktfri.db \
    LOG_FILE=/app/instance/signups.log

WORKDIR /app

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

COPY . .

RUN mkdir -p /app/instance

EXPOSE 5000

CMD ["sh", "-c", "gunicorn --bind ${HOST}:${PORT} --workers 2 --timeout 60 app:app"]
