build_docker.sh 1.0 KB

12345678910111213141516171819202122232425262728293031323334
  1. #!/bin/sh
  2. set -eu
  3. export VERSION=${VERSION:-$(git describe --tags --first-parent --abbrev=7 --long --dirty --always | sed -e "s/^v//g")}
  4. export GOFLAGS="'-ldflags=-w -s \"-X=github.com/jmorganca/ollama/version.Version=$VERSION\" \"-X=github.com/jmorganca/ollama/server.mode=release\"'"
  5. IMAGE_NAME=${IMAGE_NAME:-"ollama/ollama"}
  6. BUILD_PLATFORM=${BUILD_PLATFORM:-"linux/arm64,linux/amd64"}
  7. docker build \
  8. --load \
  9. --platform=${BUILD_PLATFORM} \
  10. --build-arg=VERSION \
  11. --build-arg=GOFLAGS \
  12. -f Dockerfile \
  13. -t ${IMAGE_NAME}:$VERSION \
  14. .
  15. docker build \
  16. --load \
  17. --platform=linux/amd64 \
  18. --build-arg=VERSION \
  19. --build-arg=GOFLAGS \
  20. --target runtime-rocm \
  21. -f Dockerfile \
  22. -t ${IMAGE_NAME}:$VERSION-rocm \
  23. .
  24. docker tag ${IMAGE_NAME}:$VERSION ${IMAGE_NAME}:latest
  25. docker tag ${IMAGE_NAME}:$VERSION-rocm ${IMAGE_NAME}:rocm
  26. echo "To release, run:"
  27. echo " docker push ${IMAGE_NAME}:$VERSION && docker push ${IMAGE_NAME}:latest"
  28. echo " docker push ${IMAGE_NAME}:$VERSION-rocm && docker push ${IMAGE_NAME}:rocm"