| 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 . . |
|
|
| |
| ENV CUDA_DOCKER_ARCH=all |
| ENV LLAMA_CUBLAS=1 |
|
|
| |
| RUN python3 -m pip install --upgrade pip pytest cmake \ |
| scikit-build setuptools fastapi uvicorn sse-starlette \ |
| pydantic-settings starlette-context gradio huggingface_hub hf_transfer |
|
|
| |
| RUN CMAKE_ARGS="-DLLAMA_CUBLAS=on" pip install llama-cpp-python |
|
|
| 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"] |