FROM nvidia/cuda:12.5.0-devel-ubuntu22.04

ENV DEBIAN_FRONTEND=noninteractive

WORKDIR /workspace
RUN mkdir -p PATH/common-data

# Install system dependencies
RUN apt-get update && apt-get install -y --no-install-recommends \
    git \
    curl \
    && rm -rf /var/lib/apt/lists/*

# Install uv (includes Python management)
COPY --from=ghcr.io/astral-sh/uv:latest /uv /usr/local/bin/uv

# Create non-root user matching host UID/GID
ARG UID=1000
ARG GID=1000
RUN groupadd -g ${GID} user && useradd -m -s /bin/bash -u ${UID} -g ${GID} user

# Create a Python 3.12 venv
RUN uv venv --python 3.12 /opt/venv && chown -R user:user /opt/venv
ENV PATH="/opt/venv/bin:/home/user/.local/bin:$PATH"

# Install top-level dependencies
COPY requirements.txt .
RUN uv pip install --python /opt/venv -r requirements.txt

# Install vllm-chat subpackage
COPY src/vllm-chat/ src/vllm-chat/
RUN uv pip install --python /opt/venv -e src/vllm-chat/

# Copy the rest of the source
COPY . .

# Install Claude Code (native installer)
USER user
RUN curl -fsSL https://claude.ai/install.sh | bash

USER root
RUN cp /home/user/.local/bin/claude /usr/local/bin/claude && chmod +x /usr/local/bin/claude

USER user

# Default: drop into a bash shell
CMD ["bash"]
