ARG BASE_IMAGE=harbor.4pd.io/dooke/vllm/vllm/vllm-openai:v0.11.0
FROM ${BASE_IMAGE}

ARG PYTHON_BIN=python3
ARG VLLM_BIN=vllm
ENV MODELHUB_COMPAT_PYTHON=${PYTHON_BIN}

COPY engine_compat.py /opt/modelhub/engine_compat.py
COPY vllm_wrapper.sh /opt/modelhub/vllm_wrapper.sh

RUN set -eu; \
    "$PYTHON_BIN" -m py_compile /opt/modelhub/engine_compat.py; \
    if [ "$VLLM_BIN" = vllm ]; then vllm_bin="$(command -v vllm)"; else vllm_bin="$VLLM_BIN"; fi; \
    test -x "$vllm_bin"; \
    mv "$vllm_bin" "$(dirname "$vllm_bin")/vllm_real"; \
    cp /opt/modelhub/vllm_wrapper.sh "$vllm_bin"; \
    chmod 0755 "$vllm_bin" /opt/modelhub/engine_compat.py
