FROM python:3.11-slim-bookworm
RUN apt-get update && apt-get install -y --no-install-recommends libgomp1 libglib2.0-0 libgl1 dcm2niix && rm -rf /var/lib/apt/lists/*
RUN useradd --create-home --uid 1000 demo
WORKDIR /app
COPY requirements*.txt /app/
RUN pip install --no-cache-dir torch==2.8.0 torchvision==0.23.0 --index-url https://download.pytorch.org/whl/cpu && pip install --no-cache-dir -r requirements-inference.txt && pip check
COPY --chown=demo:demo preload_models.py /app/
USER demo
ENV PORT=7860 ENABLE_INFERENCE=1 INFERENCE_DEVICE=cpu PYTHONDONTWRITEBYTECODE=1 OMP_NUM_THREADS=2 OPENBLAS_NUM_THREADS=2 MKL_NUM_THREADS=2 TOTALSEG_HOME_DIR=/home/demo/models nnUNet_compile=false
RUN python preload_models.py
COPY --chown=demo:demo . /app/
EXPOSE 7860
CMD ["python", "app.py"]
