FROM python:3.10.14-bookworm ARG USER_UID=10002 ARG USER_GID=$USER_UID ARG USERNAME=modelapi # Combined system setup in single layer RUN groupadd --gid $USER_GID $USERNAME \ && useradd --uid $USER_UID --gid $USER_GID -m $USERNAME \ && mkdir -p /modelapi /home/$USERNAME/.modelapi \ && chown -R $USER_UID:$USER_GID /modelapi /home/$USERNAME \ && chmod -R 755 /modelapi /home/$USERNAME # Environment variables ENV CUDA_HOME=/usr/local/cuda-12.6 ENV PATH="/modelapi/.venv/bin:$PATH" # Install uv (as root first) RUN pip install --no-cache-dir uv # Copy only necessary files (pyproject.toml first for better caching) COPY pyproject.toml /modelapi/ COPY app /modelapi/app COPY sgmse /modelapi/sgmse # Install dependencies with uv USER $USERNAME RUN python -m uv venv /modelapi/.venv \ && . /modelapi/.venv/bin/activate \ && uv pip install --no-cache-dir -e /modelapi EXPOSE 6500 CMD ["/bin/bash", "-c", "source /modelapi/.venv/bin/activate && python3 /modelapi/app/run.py"]