ARG BASE_IMAGE=z-image-turbo:diffusers-0.40.0-cu130
FROM ${BASE_IMAGE}

WORKDIR /app
# wheels/ 为宿主机预下载的 transformers==5.17.0 及其依赖闭包（cp312 aarch64），
# 构建全程离线，不访问 PyPI；diffusers 为 git main 快照，--no-deps 安装。
COPY vendor/wheels /tmp/wheels
COPY vendor/diffusers-main.tar.gz /tmp/diffusers-main.tar.gz
RUN mkdir -p /tmp/diffusers-main \
    && tar -xzf /tmp/diffusers-main.tar.gz --strip-components=1 -C /tmp/diffusers-main \
    && python3 -m pip install --no-cache-dir --no-index --find-links /tmp/wheels "transformers==5.17.0" "huggingface_hub==1.32.0" \
    && python3 -m pip install --no-cache-dir --no-deps --no-build-isolation /tmp/diffusers-main \
    && rm -rf /tmp/wheels /tmp/diffusers-main /tmp/diffusers-main.tar.gz \
    && python3 -c "from diffusers import QwenImage21Pipeline; import transformers, fastapi, uvicorn, torch; print('QwenImage21Pipeline OK transformers', transformers.__version__, 'torch', torch.__version__)"
COPY app.py /app/app.py

ENV PYTHONUNBUFFERED=1
ENTRYPOINT []
CMD ["python3", "-m", "uvicorn", "app:app", "--host", "0.0.0.0", "--port", "8300"]
