llama-server-vulkan.Dockerfile
1 ARG UBUNTU_VERSION=jammy 2 3 FROM ubuntu:$UBUNTU_VERSION AS build 4 5 # Install build tools 6 RUN apt update && apt install -y git build-essential cmake wget 7 8 # Install Vulkan SDK and cURL 9 RUN wget -qO - https://packages.lunarg.com/lunarg-signing-key-pub.asc | apt-key add - && \ 10 wget -qO /etc/apt/sources.list.d/lunarg-vulkan-jammy.list https://packages.lunarg.com/vulkan/lunarg-vulkan-jammy.list && \ 11 apt update -y && \ 12 apt-get install -y vulkan-sdk libcurl4-openssl-dev curl 13 14 # Build it 15 WORKDIR /app 16 COPY . . 17 RUN cmake -B build -DGGML_NATIVE=OFF -DGGML_VULKAN=1 -DLLAMA_CURL=1 && \ 18 cmake --build build --config Release --target llama-server 19 20 # Clean up 21 WORKDIR / 22 RUN cp /app/build/bin/llama-server /llama-server && \ 23 rm -rf /app 24 25 ENV LC_ALL=C.utf8 26 # Must be set to 0.0.0.0 so it can listen to requests from host machine 27 ENV LLAMA_ARG_HOST=0.0.0.0 28 29 HEALTHCHECK CMD [ "curl", "-f", "http://localhost:8080/health" ] 30 31 ENTRYPOINT [ "/llama-server" ]