FROM python:3.12-slim

ENV PYTHONDONTWRITEBYTECODE=1 \
    PYTHONUNBUFFERED=1

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

COPY app ./app
COPY templates ./templates
COPY static ./static

RUN find /app/app -type d -name "__pycache__" -prune -exec rm -rf {} + \
    && mkdir -p /app/data

EXPOSE 8080
CMD ["python", "-m", "app.main"]
