ggml-coding-llm / Dockerfile
matthoffner's picture
Update Dockerfile
b3ccd5b verified
raw
history blame
1.42 kB
FROM nvidia/cuda:12.2.0-devel-ubuntu22.04
ENV DEBIAN_FRONTEND=noninteractive
# Update and install necessary dependencies
RUN apt update && \
apt install --no-install-recommends -y \
build-essential \
python3 \
python3-pip \
wget \
curl \
git \
cmake \
zlib1g-dev \
libblas-dev && \
apt clean && \
rm -rf /var/lib/apt/lists/*
# Setting up CUDA environment variables (this may not be necessary since you're using the official nvidia/cuda image, but it's good to be explicit)
ENV PATH="/usr/local/cuda/bin:$PATH" \
LD_LIBRARY_PATH="/usr/local/cuda/lib64:$LD_LIBRARY_PATH" \
CUDA_HOME="/usr/local/cuda"
WORKDIR /app
RUN wget https://huggingface.co/matthoffner/Magicoder-S-DS-6.7B-GGUF/resolve/main/Magicoder-S-DS-6.7B_Q4_K_M.gguf
RUN git clone https://github.com/ggerganov/llama.cpp.git && \
cd llama.cpp && \
make LLAMA_CUBLAS=1
# Create a non-root user for security reasons
RUN useradd -m -u 1000 user && \
mkdir -p /home/user/app && \
cp /app/Magicoder-S-DS-6.7B_Q4_K_M.gguf /home/user/app
RUN chown user:user /home/user/app/Magicoder-S-DS-6.7B_Q4_K_M.gguf
USER user
ENV HOME=/home/user
WORKDIR $HOME/app
# Expose the port
EXPOSE 8080
# Start the llava-server with models
CMD ["/app/llama.cpp/server", "--model", "Magicoder-S-DS-6.7B_Q4_K_M.gguf", "--threads", "8", "--host", "0.0.0.0", "-ngl", "30"]