muryshev commited on
Commit
78449ad
·
verified ·
1 Parent(s): da586da

Create Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +47 -0
Dockerfile ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ARG UBUNTU_VERSION=22.04
2
+ ARG CUDA_VERSION=12.3.1
3
+ ARG BASE_CUDA_DEV_CONTAINER=nvidia/cuda:${CUDA_VERSION}-devel-ubuntu${UBUNTU_VERSION}
4
+ ARG BASE_CUDA_RUN_CONTAINER=nvidia/cuda:${CUDA_VERSION}-runtime-ubuntu${UBUNTU_VERSION}
5
+
6
+ FROM ${BASE_CUDA_DEV_CONTAINER} as build
7
+
8
+ ARG CUDA_DOCKER_ARCH=all
9
+
10
+ RUN apt-get update --fix-missing && \
11
+ apt-get install -y --no-install-recommends git build-essential gcc cmake && \
12
+ rm -rf /var/lib/apt/lists/*
13
+
14
+ WORKDIR /build
15
+
16
+ RUN git clone https://github.com/ggerganov/llama.cpp.git
17
+
18
+ WORKDIR /build/llama.cpp
19
+ RUN git checkout 4bfe50f741479c1df1c377260c3ff5702586719e
20
+
21
+ ENV CUDA_DOCKER_ARCH=${CUDA_DOCKER_ARCH}
22
+ ENV LLAMA_CUBLAS=1
23
+
24
+ RUN mkdir build && \
25
+ cd build && \
26
+ cmake .. -DLLAMA_CUBLAS=ON && \
27
+ cmake --build . --config Release
28
+
29
+ FROM ${BASE_CUDA_RUN_CONTAINER} as runtime
30
+ RUN apt-get update --fix-missing && \
31
+ apt-get install -y --no-install-recommends wget && \
32
+ rm -rf /var/lib/apt/lists/*
33
+
34
+ WORKDIR /app
35
+
36
+ # Copy the executable from the build stage
37
+ COPY --from=build /build/llama.cpp/build/bin/server /app
38
+ COPY --from=build /build/llama.cpp/examples/server/public /app/public
39
+ COPY ./run.sh /app/run.sh
40
+ WORKDIR /app
41
+ EXPOSE 7867
42
+
43
+ # Make the script executable
44
+ RUN chmod +x run.sh
45
+
46
+ # CMD to run your script
47
+ CMD ./run.sh