build_linux.sh 806 B

123456789101112131415161718192021222324
  1. #!/bin/sh
  2. set -eu
  3. export VERSION=${VERSION:-0.0.0}
  4. export GOFLAGS="'-ldflags=-w -s \"-X=github.com/jmorganca/ollama/version.Version=$VERSION\" \"-X=github.com/jmorganca/ollama/server.mode=release\"'"
  5. BUILD_ARCH=${BUILD_ARCH:-"amd64 arm64"}
  6. mkdir -p dist
  7. for TARGETARCH in ${BUILD_ARCH}; do
  8. docker build \
  9. --platform=linux/$TARGETARCH \
  10. --build-arg=GOFLAGS \
  11. --build-arg=CGO_CFLAGS \
  12. --build-arg=OLLAMA_CUSTOM_CPU_DEFS \
  13. --target build-$TARGETARCH \
  14. -f Dockerfile \
  15. -t builder:$TARGETARCH \
  16. .
  17. docker create --platform linux/$TARGETARCH --name builder-$TARGETARCH builder:$TARGETARCH
  18. docker cp builder-$TARGETARCH:/go/src/github.com/jmorganca/ollama/ollama ./dist/ollama-linux-$TARGETARCH
  19. docker rm builder-$TARGETARCH
  20. done