# GLM-5.2 Int4-Int8Mix overlay on sparkrun-vllm-ds4-gb10:glm52
#
# Unsets VLLM_PREFIX_CACHE_RETENTION_INTERVAL (baked at 4096 in the base
# deepseek image, breaks GLM-5.2) via a wrapper that sources the original
# nvidia_entrypoint.sh first, then hands off with exec after the unset.
#
# Build:
#   cd docker-images/glm52-int4-int8 && bash build.sh
#   Tags: sparkrun-vllm-ds4-gb10:glm52

FROM aidendle94/sparkrun-vllm-ds4-gb10:production-hybrid-1.3

RUN pip install --no-cache-dir --no-deps --force-reinstall nvidia-nccl-cu13==2.30.4 \
 && pip install --no-cache-dir --no-deps --force-reinstall instanttensor==0.1.9

# Wrapper: unset the baked var, then hand off to the original entrypoint.
# The original nvidia_entrypoint.sh does `exec "$@"` at the end, so this
# runs as PID 1 with conda/CUDA paths sourced and the baked var gone.
RUN printf '#!/bin/bash\nunset VLLM_PREFIX_CACHE_RETENTION_INTERVAL\nexec /opt/nvidia/nvidia_entrypoint.sh "$@"\n' > /entrypoint-wrapper.sh && chmod +x /entrypoint-wrapper.sh

ENTRYPOINT ["/entrypoint-wrapper.sh"]
