llama-server-vulkan.Dockerfile 843 Bytes
Newer Older
wangkx1's avatar
init  
wangkx1 committed
1
2
ARG UBUNTU_VERSION=jammy

wangkx1's avatar
wangkx1 committed
3
FROM ubuntu:$UBUNTU_VERSION AS build
wangkx1's avatar
init  
wangkx1 committed
4
5
6
7

# Install build tools
RUN apt update && apt install -y git build-essential cmake wget

wangkx1's avatar
wangkx1 committed
8
# Install Vulkan SDK and cURL
wangkx1's avatar
init  
wangkx1 committed
9
10
11
RUN wget -qO - https://packages.lunarg.com/lunarg-signing-key-pub.asc | apt-key add - && \
    wget -qO /etc/apt/sources.list.d/lunarg-vulkan-jammy.list https://packages.lunarg.com/vulkan/lunarg-vulkan-jammy.list && \
    apt update -y && \
wangkx1's avatar
wangkx1 committed
12
    apt-get install -y vulkan-sdk libcurl4-openssl-dev curl
wangkx1's avatar
init  
wangkx1 committed
13
14
15
16

# Build it
WORKDIR /app
COPY . .
wangkx1's avatar
wangkx1 committed
17
RUN cmake -B build -DGGML_VULKAN=1 -DLLAMA_CURL=1 && \
wangkx1's avatar
init  
wangkx1 committed
18
19
20
21
22
23
24
25
26
    cmake --build build --config Release --target llama-server

# Clean up
WORKDIR /
RUN cp /app/build/bin/llama-server /llama-server && \
    rm -rf /app

ENV LC_ALL=C.utf8

wangkx1's avatar
wangkx1 committed
27
28
HEALTHCHECK CMD [ "curl", "-f", "http://localhost:8080/health" ]

wangkx1's avatar
init  
wangkx1 committed
29
ENTRYPOINT [ "/llama-server" ]