REVERTED BACK TO OLDER OLLAMA BUILD METHOD

This commit is contained in:
John Doe
2025-11-22 16:10:47 -05:00
parent 1dea924668
commit df6e8d2c2a
2 changed files with 69 additions and 5 deletions

View File

@@ -1,13 +1,72 @@
FROM docker.io/getterup/fedora-rocm7.1:latest
# vim: filetype=dockerfile
# Copy built ollama binary and libraries from build output
COPY ./ollama-build/ollama-build-output/bin/ollama /usr/bin/ollama
COPY ./ollama-build/ollama-build-output/lib/ollama /usr/lib/ollama
RUN <<'EOF'
tee /etc/yum.repos.d/rocm.repo <<REPO
[ROCm-7.1]
name=ROCm7.1
baseurl=https://repo.radeon.com/rocm/el9/7.1/main
enabled=1
priority=50
gpgcheck=1
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
REPO
EOF
RUN dnf -y --nodocs --setopt=install_weak_deps=False \
--exclude='*sdk*' --exclude='*samples*' --exclude='*-doc*' --exclude='*-docs*' \
install \
rocm-runtime rocm-device-libs hip-runtime-amd \
rocblas hipblas rocminfo \
ca-certificates \
&& dnf clean all && rm -rf /var/cache/dnf/*
# ROCm environment variables
ENV ROCM_PATH=/opt/rocm \
HIP_PATH=/opt/rocm \
HIP_CLANG_PATH=/opt/rocm/llvm/bin \
HIP_DEVICE_LIB_PATH=/opt/rocm/amdgcn/bitcode \
PATH=/opt/rocm/bin:/opt/rocm/llvm/bin:$PATH
ARG FLAVOR=rocm
ARG PARALLEL=8
ARG ROCM7VERSION=7.1
ARG CMAKEVERSION=3.31.2
COPY ./ollama-build/ollama-src /ollama-src
ARG CMAKEVERSION
RUN curl -fsSL https://github.com/Kitware/CMake/releases/download/v${CMAKEVERSION}/cmake-${CMAKEVERSION}-linux-$(uname -m).tar.gz | tar xz -C /usr/local --strip-components 1
ENV LDFLAGS=-s
ENV PATH=/opt/rocm/hcc/bin:/opt/rocm/hip/bin:/opt/rocm/bin:/opt/rocm/hcc/bin:$PATH
ARG PARALLEL
RUN --mount=type=cache,target=/root/.ccache \
cmake --preset 'ROCm 7' -DOLLAMA_RUNNER_DIR="rocm_v7" \
&& cmake --build --parallel ${PARALLEL} --preset 'ROCm 7' \
&& cmake --install build --component HIP --strip --parallel ${PARALLEL}
RUN rm -f dist/lib/ollama/rocm/rocblas/library/*gfx90[06]*
RUN curl -fsSL https://golang.org/dl/go$(awk '/^go/ { print $2 }' go.mod).linux-$(case $(uname -m) in x86_64) echo amd64 ;; aarch64) echo arm64 ;; esac).tar.gz | tar xz -C /usr/local
ENV PATH=/usr/local/go/bin:$PATH
RUN go mod download
ARG GOFLAGS="'-ldflags=-w -s'"
ENV CGO_ENABLED=1
ARG CGO_CFLAGS
ARG CGO_CXXFLAGS
RUN --mount=type=cache,target=/root/.cache/go-build \
go build -trimpath -buildmode=pie -o /usr/bin/ollama .
COPY /ollama-src/dist/lib/ollama /usr/lib/ollama
# Set executable permissions
RUN chmod +x /usr/bin/ollama
ENV LD_LIBRARY_PATH=/opt/rocm/lib:/usr/lib/ollama:/usr/lib/ollama/rocm:$LD_LIBRARY_PATH
# Expose port
ENV OLLAMA_HOST=0.0.0.0:11434
EXPOSE 11434

View File

@@ -31,10 +31,15 @@ services:
group_add:
- video
environment:
- OLLAMA_VULKAN=0
- OLLAMA_DEBUG=2
- OLLAMA_FLASH_ATTENTION=true
- OLLAMA_KV_CACHE_TYPE="q8_0"
- ROCR_VISIBLE_DEVICES=0
- HSA_ENABLE_SDMA=0
- OLLAMA_KEEP_ALIVE=-1
- OLLAMA_MAX_LOADED_MODELS=1
- OLLAMA_FLASH_ATTENTION=1
- OLLAMA_GPU_OVERHEAD=0
- OLLAMA_KEEP_ALIVE=1h
restart: unless-stopped
cap_add:
- SYS_PTRACE