|
@@ -16,12 +16,12 @@ FROM --platform=linux/amd64 nvidia/cuda:$CUDA_VERSION_11-devel-centos7 AS cuda-1
|
|
|
ARG CMAKE_VERSION
|
|
|
COPY ./scripts/rh_linux_deps.sh /
|
|
|
RUN CMAKE_VERSION=${CMAKE_VERSION} sh /rh_linux_deps.sh
|
|
|
-ENV PATH /opt/rh/devtoolset-10/root/usr/bin:$PATH
|
|
|
+ENV PATH=/opt/rh/devtoolset-10/root/usr/bin:$PATH
|
|
|
COPY --from=llm-code / /go/src/github.com/ollama/ollama/
|
|
|
WORKDIR /go/src/github.com/ollama/ollama/llm/generate
|
|
|
ARG CGO_CFLAGS
|
|
|
ARG CUDA_V11_ARCHITECTURES
|
|
|
-ENV GOARCH amd64
|
|
|
+ENV GOARCH=amd64
|
|
|
RUN --mount=type=cache,target=/root/.ccache \
|
|
|
OLLAMA_SKIP_STATIC_GENERATE=1 \
|
|
|
OLLAMA_SKIP_CPU_GENERATE=1 \
|
|
@@ -33,12 +33,12 @@ FROM --platform=linux/amd64 nvidia/cuda:$CUDA_VERSION_12-devel-centos7 AS cuda-1
|
|
|
ARG CMAKE_VERSION
|
|
|
COPY ./scripts/rh_linux_deps.sh /
|
|
|
RUN CMAKE_VERSION=${CMAKE_VERSION} sh /rh_linux_deps.sh
|
|
|
-ENV PATH /opt/rh/devtoolset-10/root/usr/bin:$PATH
|
|
|
+ENV PATH=/opt/rh/devtoolset-10/root/usr/bin:$PATH
|
|
|
COPY --from=llm-code / /go/src/github.com/ollama/ollama/
|
|
|
WORKDIR /go/src/github.com/ollama/ollama/llm/generate
|
|
|
ARG CGO_CFLAGS
|
|
|
ARG CUDA_V12_ARCHITECTURES
|
|
|
-ENV GOARCH amd64
|
|
|
+ENV GOARCH=amd64
|
|
|
RUN --mount=type=cache,target=/root/.ccache \
|
|
|
OLLAMA_SKIP_STATIC_GENERATE=1 \
|
|
|
OLLAMA_SKIP_CPU_GENERATE=1 \
|
|
@@ -51,12 +51,12 @@ FROM --platform=linux/arm64 nvidia/cuda:$CUDA_VERSION_11-devel-rockylinux8 AS cu
|
|
|
ARG CMAKE_VERSION
|
|
|
COPY ./scripts/rh_linux_deps.sh /
|
|
|
RUN CMAKE_VERSION=${CMAKE_VERSION} sh /rh_linux_deps.sh
|
|
|
-ENV PATH /opt/rh/gcc-toolset-10/root/usr/bin:$PATH
|
|
|
+ENV PATH=/opt/rh/gcc-toolset-10/root/usr/bin:$PATH
|
|
|
COPY --from=llm-code / /go/src/github.com/ollama/ollama/
|
|
|
WORKDIR /go/src/github.com/ollama/ollama/llm/generate
|
|
|
ARG CGO_CFLAGS
|
|
|
ARG CUDA_V11_ARCHITECTURES
|
|
|
-ENV GOARCH arm64
|
|
|
+ENV GOARCH=arm64
|
|
|
RUN OLLAMA_SKIP_STATIC_GENERATE=1 \
|
|
|
OLLAMA_SKIP_CPU_GENERATE=1 \
|
|
|
CMAKE_CUDA_ARCHITECTURES="${CUDA_V11_ARCHITECTURES}" \
|
|
@@ -67,12 +67,12 @@ FROM --platform=linux/arm64 nvidia/cuda:$CUDA_VERSION_12-devel-rockylinux8 AS cu
|
|
|
ARG CMAKE_VERSION
|
|
|
COPY ./scripts/rh_linux_deps.sh /
|
|
|
RUN CMAKE_VERSION=${CMAKE_VERSION} sh /rh_linux_deps.sh
|
|
|
-ENV PATH /opt/rh/gcc-toolset-10/root/usr/bin:$PATH
|
|
|
+ENV PATH=/opt/rh/gcc-toolset-10/root/usr/bin:$PATH
|
|
|
COPY --from=llm-code / /go/src/github.com/ollama/ollama/
|
|
|
WORKDIR /go/src/github.com/ollama/ollama/llm/generate
|
|
|
ARG CGO_CFLAGS
|
|
|
ARG CUDA_V12_ARCHITECTURES
|
|
|
-ENV GOARCH arm64
|
|
|
+ENV GOARCH=arm64
|
|
|
RUN --mount=type=cache,target=/root/.ccache \
|
|
|
OLLAMA_SKIP_STATIC_GENERATE=1 \
|
|
|
OLLAMA_SKIP_CPU_GENERATE=1 \
|
|
@@ -86,13 +86,13 @@ FROM --platform=linux/amd64 rocm/dev-centos-7:${ROCM_VERSION}-complete AS rocm-b
|
|
|
ARG CMAKE_VERSION
|
|
|
COPY ./scripts/rh_linux_deps.sh /
|
|
|
RUN CMAKE_VERSION=${CMAKE_VERSION} sh /rh_linux_deps.sh
|
|
|
-ENV PATH /opt/rh/devtoolset-10/root/usr/bin:$PATH
|
|
|
-ENV LIBRARY_PATH /opt/amdgpu/lib64
|
|
|
+ENV PATH=/opt/rh/devtoolset-10/root/usr/bin:$PATH
|
|
|
+ENV LIBRARY_PATH=/opt/amdgpu/lib64
|
|
|
COPY --from=llm-code / /go/src/github.com/ollama/ollama/
|
|
|
WORKDIR /go/src/github.com/ollama/ollama/llm/generate
|
|
|
ARG CGO_CFLAGS
|
|
|
ARG AMDGPU_TARGETS
|
|
|
-ENV GOARCH amd64
|
|
|
+ENV GOARCH=amd64
|
|
|
RUN --mount=type=cache,target=/root/.ccache \
|
|
|
OLLAMA_SKIP_STATIC_GENERATE=1 OLLAMA_SKIP_CPU_GENERATE=1 bash gen_linux.sh
|
|
|
RUN mkdir -p ../../dist/linux-amd64-rocm/lib/ollama && \
|
|
@@ -103,11 +103,11 @@ ARG CMAKE_VERSION
|
|
|
ARG GOLANG_VERSION
|
|
|
COPY ./scripts/rh_linux_deps.sh /
|
|
|
RUN CMAKE_VERSION=${CMAKE_VERSION} GOLANG_VERSION=${GOLANG_VERSION} sh /rh_linux_deps.sh
|
|
|
-ENV PATH /opt/rh/devtoolset-10/root/usr/bin:$PATH
|
|
|
+ENV PATH=/opt/rh/devtoolset-10/root/usr/bin:$PATH
|
|
|
COPY --from=llm-code / /go/src/github.com/ollama/ollama/
|
|
|
ARG OLLAMA_CUSTOM_CPU_DEFS
|
|
|
ARG CGO_CFLAGS
|
|
|
-ENV GOARCH amd64
|
|
|
+ENV GOARCH=amd64
|
|
|
WORKDIR /go/src/github.com/ollama/ollama/llm/generate
|
|
|
|
|
|
FROM --platform=linux/amd64 cpu-builder-amd64 AS static-build-amd64
|
|
@@ -128,11 +128,11 @@ ARG CMAKE_VERSION
|
|
|
ARG GOLANG_VERSION
|
|
|
COPY ./scripts/rh_linux_deps.sh /
|
|
|
RUN CMAKE_VERSION=${CMAKE_VERSION} GOLANG_VERSION=${GOLANG_VERSION} sh /rh_linux_deps.sh
|
|
|
-ENV PATH /opt/rh/gcc-toolset-10/root/usr/bin:$PATH
|
|
|
+ENV PATH=/opt/rh/gcc-toolset-10/root/usr/bin:$PATH
|
|
|
COPY --from=llm-code / /go/src/github.com/ollama/ollama/
|
|
|
ARG OLLAMA_CUSTOM_CPU_DEFS
|
|
|
ARG CGO_CFLAGS
|
|
|
-ENV GOARCH arm64
|
|
|
+ENV GOARCH=arm64
|
|
|
WORKDIR /go/src/github.com/ollama/ollama/llm/generate
|
|
|
|
|
|
FROM --platform=linux/arm64 cpu-builder-arm64 AS static-build-arm64
|
|
@@ -145,7 +145,7 @@ RUN --mount=type=cache,target=/root/.ccache \
|
|
|
|
|
|
# Intermediate stage used for ./scripts/build_linux.sh
|
|
|
FROM --platform=linux/amd64 cpu-build-amd64 AS build-amd64
|
|
|
-ENV CGO_ENABLED 1
|
|
|
+ENV CGO_ENABLED=1
|
|
|
WORKDIR /go/src/github.com/ollama/ollama
|
|
|
COPY . .
|
|
|
COPY --from=static-build-amd64 /go/src/github.com/ollama/ollama/llm/build/linux/ llm/build/linux/
|
|
@@ -164,7 +164,7 @@ RUN --mount=type=cache,target=/root/.ccache \
|
|
|
|
|
|
# Intermediate stage used for ./scripts/build_linux.sh
|
|
|
FROM --platform=linux/arm64 cpu-build-arm64 AS build-arm64
|
|
|
-ENV CGO_ENABLED 1
|
|
|
+ENV CGO_ENABLED=1
|
|
|
ARG GOLANG_VERSION
|
|
|
WORKDIR /go/src/github.com/ollama/ollama
|
|
|
COPY . .
|
|
@@ -179,37 +179,37 @@ RUN --mount=type=cache,target=/root/.ccache \
|
|
|
go build -trimpath -o dist/linux-arm64/bin/ollama .
|
|
|
|
|
|
# Strip out ROCm dependencies to keep the primary image lean
|
|
|
-FROM --platform=linux/amd64 ubuntu:22.04 as amd64-libs-without-rocm
|
|
|
+FROM --platform=linux/amd64 ubuntu:22.04 AS amd64-libs-without-rocm
|
|
|
COPY --from=build-amd64 /go/src/github.com/ollama/ollama/dist/linux-amd64/lib/ /scratch/
|
|
|
RUN cd /scratch/ollama/ && rm -rf rocblas libamd* libdrm* libroc* libhip* libhsa*
|
|
|
|
|
|
# Runtime stages
|
|
|
-FROM --platform=linux/amd64 ubuntu:22.04 as runtime-amd64
|
|
|
+FROM --platform=linux/amd64 ubuntu:22.04 AS runtime-amd64
|
|
|
COPY --from=amd64-libs-without-rocm /scratch/ /lib/
|
|
|
RUN apt-get update && apt-get install -y ca-certificates && \
|
|
|
apt-get clean && rm -rf /var/lib/apt/lists/*
|
|
|
COPY --from=build-amd64 /go/src/github.com/ollama/ollama/dist/linux-amd64/bin/ /bin/
|
|
|
|
|
|
-FROM --platform=linux/arm64 ubuntu:22.04 as runtime-arm64
|
|
|
+FROM --platform=linux/arm64 ubuntu:22.04 AS runtime-arm64
|
|
|
COPY --from=build-arm64 /go/src/github.com/ollama/ollama/dist/linux-arm64/lib/ /lib/
|
|
|
RUN apt-get update && apt-get install -y ca-certificates && \
|
|
|
apt-get clean && rm -rf /var/lib/apt/lists/*
|
|
|
COPY --from=build-arm64 /go/src/github.com/ollama/ollama/dist/linux-arm64/bin/ /bin/
|
|
|
|
|
|
# Radeon images are much larger so we keep it distinct from the CPU/CUDA image
|
|
|
-FROM --platform=linux/amd64 rocm/dev-centos-7:${ROCM_VERSION}-complete as runtime-rocm
|
|
|
+FROM rocm/dev-centos-7:${ROCM_VERSION}-complete AS runtime-rocm
|
|
|
RUN update-pciids
|
|
|
COPY --from=build-amd64 /go/src/github.com/ollama/ollama/dist/linux-amd64/bin/ /bin/
|
|
|
RUN ln -s /opt/rocm/lib /lib/ollama
|
|
|
EXPOSE 11434
|
|
|
-ENV OLLAMA_HOST 0.0.0.0
|
|
|
+ENV OLLAMA_HOST=0.0.0.0
|
|
|
|
|
|
ENTRYPOINT ["/bin/ollama"]
|
|
|
CMD ["serve"]
|
|
|
|
|
|
FROM runtime-$TARGETARCH
|
|
|
EXPOSE 11434
|
|
|
-ENV OLLAMA_HOST 0.0.0.0
|
|
|
+ENV OLLAMA_HOST=0.0.0.0
|
|
|
ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
|
|
|
ENV LD_LIBRARY_PATH=/usr/local/nvidia/lib:/usr/local/nvidia/lib64
|
|
|
ENV NVIDIA_DRIVER_CAPABILITIES=compute,utility
|