mirror of
https://github.com/dogkeeper886/ollama37.git
synced 2025-12-10 15:57:04 +00:00
- Add -j$(nproc) flag to cmake build in ollama37.Dockerfile - Use all available CPU cores for faster compilation - Add sync-upstream.md documentation for future maintenance 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
36 lines
1.1 KiB
Docker
36 lines
1.1 KiB
Docker
# ===== Stage 1: Build the source code =====
|
|
FROM dogkeeper886/ollama37-builder AS builder
|
|
|
|
# Copy source code and build
|
|
COPY . /usr/local/src/ollama37
|
|
WORKDIR /usr/local/src/ollama37
|
|
RUN CC=/usr/local/bin/gcc CXX=/usr/local/bin/g++ cmake -B build \
|
|
&& CC=/usr/local/bin/gcc CXX=/usr/local/bin/g++ cmake --build build -j$(nproc) \
|
|
&& go build -o ollama .
|
|
|
|
# ===== Stage 2: Runtime image =====
|
|
FROM rockylinux/rockylinux:8
|
|
|
|
RUN dnf -y update
|
|
|
|
# Copy only the built binary and any needed assets from the builder stage
|
|
COPY --from=builder /usr/local/src/ollama37 /usr/local/src/ollama37
|
|
COPY --from=builder /usr/local/lib64 /usr/local/lib64
|
|
COPY --from=builder /usr/local/cuda-11.4/lib64 /usr/local/cuda-11.4/lib64
|
|
|
|
# Create a symbolic link from the built binary to /usr/local/bin for easy access
|
|
RUN ln -s /usr/local/src/ollama37/ollama /usr/local/bin/ollama
|
|
|
|
# Set environment variables
|
|
ENV LD_LIBRARY_PATH="/usr/local/lib64:/usr/local/cuda-11.4/lib64"
|
|
ENV NVIDIA_DRIVER_CAPABILITIES=compute,utility
|
|
ENV NVIDIA_VISIBLE_DEVICES=all
|
|
ENV OLLAMA_HOST=0.0.0.0:11434
|
|
|
|
# Expose port
|
|
EXPOSE 11434
|
|
|
|
# Set entrypoint and command
|
|
ENTRYPOINT ["/usr/local/bin/ollama"]
|
|
CMD ["serve"]
|