FROM condaforge/miniforge3:latest

WORKDIR /app

ENV PYTHONDONTWRITEBYTECODE=1
ENV PYTHONUNBUFFERED=1
ENV MPLBACKEND=Agg

RUN apt-get update \
    && apt-get install -y --no-install-recommends fontconfig fonts-noto-cjk \
    && fc-cache -fv \
    && rm -rf /var/lib/apt/lists/*

COPY requirements.txt .

RUN mamba create -n demo python=3.12 -y \
    && conda run -n demo python -m pip install --no-cache-dir -r requirements.txt \
    && conda clean -afy

COPY app ./app
COPY templates ./templates
COPY static ./static
COPY main.py .
COPY example.xlsx .
COPY 20260630标准文本——供水管道健康状态与剩余寿命评估技术导则.pdf .
COPY model_core ./model_core

RUN mkdir -p data static/images uploads

EXPOSE 5005

CMD ["conda", "run", "--no-capture-output", "-n", "demo", "gunicorn", "--bind", "0.0.0.0:5005", "--workers", "2", "--threads", "4", "--timeout", "120", "main:app"]
