|
ARG CUDA_IMAGE="12.1.1-devel-ubuntu22.04" |
|
FROM nvidia/cuda:${CUDA_IMAGE} |
|
|
|
|
|
ENV HOST 0.0.0.0 |
|
|
|
RUN apt-get update && apt-get upgrade -y \ |
|
&& apt-get install -y git build-essential \ |
|
python3 python3-pip gcc wget \ |
|
ocl-icd-opencl-dev opencl-headers clinfo \ |
|
libclblast-dev libopenblas-dev \ |
|
&& mkdir -p /etc/OpenCL/vendors && echo "libnvidia-opencl.so.1" > /etc/OpenCL/vendors/nvidia.icd |
|
|
|
COPY . . |
|
|
|
|
|
|
|
|
|
|
|
RUN nvcc --version && python3 --version |
|
|
|
|
|
RUN python3 -m pip install --upgrade pip pytest cmake \ |
|
scikit-build setuptools fastapi uvicorn sse-starlette \ |
|
pydantic-settings starlette-context gradio==5.18.0 huggingface_hub==0.29.1 hf_transfer |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
RUN pip install https://github.com/abetlen/llama-cpp-python/releases/download/v0.3.4-cu121/llama_cpp_python-0.3.4-cp310-cp310-linux_x86_64.whl |
|
|
|
|
|
|
|
RUN useradd -m -u 1000 user |
|
|
|
USER user |
|
|
|
ENV HOME=/home/user \ |
|
PATH=/home/user/.local/bin:$PATH \ |
|
PYTHONPATH=$HOME/app \ |
|
PYTHONUNBUFFERED=1 \ |
|
GRADIO_ALLOW_FLAGGING=never \ |
|
GRADIO_NUM_PORTS=1 \ |
|
GRADIO_SERVER_NAME=0.0.0.0 \ |
|
GRADIO_THEME=huggingface \ |
|
SYSTEM=spaces |
|
|
|
WORKDIR $HOME/app |
|
|
|
|
|
COPY --chown=user . $HOME/app |
|
|
|
CMD ["python3", "app.py"] |