ARG BASE_IMAGE
FROM ${BASE_IMAGE}

COPY manifest.json /opt/ppu-deepseek-v4-pro-patch/manifest.json
COPY scripts/apply.py /opt/ppu-deepseek-v4-pro-patch/scripts/apply.py
COPY src/ /opt/ppu-deepseek-v4-pro-patch/src/
COPY upstream/ /opt/ppu-deepseek-v4-pro-patch/upstream/
COPY examples/ /opt/ppu-deepseek-v4-pro-patch/examples/

RUN python /opt/ppu-deepseek-v4-pro-patch/scripts/apply.py --apply

ENV VLLM_DISABLED_KERNELS=PPUCutlassFp8BlockScaledMMKernel \
    VLLM_PPU_BF16_O_PROJ=1 \
    VLLM_PPU_SERIAL_ATTENTION=1 \
    VLLM_MULTI_STREAM_GEMM_TOKEN_THRESHOLD=0 \
    VLLM_ENGINE_READY_TIMEOUT_S=3600
