# Base: nvcr.io/nvidia/pytorch:25.09-py3 (the image the original server ran on),
# pinned by digest. The pins below are exactly what the original setup's
# `pip install --upgrade-strategy only-if-needed 'diffusers>=0.38' 'transformers>=5.3' ...`
# resolved to in the working kromoss-dmd2 container (read off `docker diff`).
#
# torchao is removed for the recipe's documented reason: diffusers reaches torchao eagerly
# while importing AutoencoderKLFlux2, and NGC 25.09's torchao 0.13 lacks the FqnToConfig
# newer diffusers expects. Only plain bf16/fp32 weights are loaded here.
FROM nvcr.io/nvidia/pytorch@sha256:f3b4a33fd60d5e0358287bb44d57e91eda45e8f1681fef1bfd6c969371417130
RUN pip install --no-cache-dir \
      diffusers==0.41.0 transformers==5.20.2 tokenizers==0.23.3 accelerate==1.15.0 \
      safetensors==0.8.0 huggingface_hub==1.33.0 hf_xet==1.7.0 pillow==13.0.0 \
      fastapi==0.161.0 starlette==1.9.0 uvicorn==0.54.0 \
 && pip uninstall -y torchao \
 && python3 -c "from diffusers import AutoencoderKLFlux2; import transformers; print('ok', transformers.__version__)"
