* feat: add Dockerfiles for each platform that user ./server instead of ./main * feat: update .github/workflows/docker.yml to build server-first docker containers * doc: add information about running the server with Docker to README.md * doc: add information about running with docker to the server README * doc: update n-gpu-layers to show correct GPU usage * fix(doc): update container tag from `server` to `server-cuda` for README example on running server container with CUDA
33 lines
782 B
Docker
33 lines
782 B
Docker
ARG UBUNTU_VERSION=22.04
|
|
# This needs to generally match the container host's environment.
|
|
ARG CUDA_VERSION=11.7.1
|
|
# Target the CUDA build image
|
|
ARG BASE_CUDA_DEV_CONTAINER=nvidia/cuda:${CUDA_VERSION}-devel-ubuntu${UBUNTU_VERSION}
|
|
# Target the CUDA runtime image
|
|
ARG BASE_CUDA_RUN_CONTAINER=nvidia/cuda:${CUDA_VERSION}-runtime-ubuntu${UBUNTU_VERSION}
|
|
|
|
FROM ${BASE_CUDA_DEV_CONTAINER} as build
|
|
|
|
# Unless otherwise specified, we make a fat build.
|
|
ARG CUDA_DOCKER_ARCH=all
|
|
|
|
RUN apt-get update && \
|
|
apt-get install -y build-essential git
|
|
|
|
WORKDIR /app
|
|
|
|
COPY . .
|
|
|
|
# Set nvcc architecture
|
|
ENV CUDA_DOCKER_ARCH=${CUDA_DOCKER_ARCH}
|
|
# Enable cuBLAS
|
|
ENV LLAMA_CUBLAS=1
|
|
|
|
RUN make
|
|
|
|
FROM ${BASE_CUDA_RUN_CONTAINER} as runtime
|
|
|
|
COPY --from=build /app/server /server
|
|
|
|
ENTRYPOINT [ "/server" ]
|