# Base: nvcr.io/nvidia/pytorch:25.09-py3 (the image gx10's start_flux2_klein_4b.sh runs on),
# pinned by digest. Same file as the kromoss-dmd2-gb10 capsule's Dockerfile (so the two
# share their image layers): diffusers 0.41.0 has Flux2KleinPipeline, which gx10's script
# got by installing diffusers from its main branch.
#
# 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__)"
