build_docker.sh 1.04 KB
Newer Older
Michael Yang's avatar
Michael Yang committed
1
2
3
4
#!/bin/sh

set -eu

5
export VERSION=${VERSION:-$(git describe --tags --first-parent --abbrev=7 --long --dirty --always | sed -e "s/^v//g")}
Michael Yang's avatar
Michael Yang committed
6
7
export GOFLAGS="'-ldflags=-w -s \"-X=github.com/jmorganca/ollama/version.Version=$VERSION\" \"-X=github.com/jmorganca/ollama/server.mode=release\"'"

8
9
IMAGE_NAME=${IMAGE_NAME:-"ollama/ollama"}
BUILD_PLATFORM=${BUILD_PLATFORM:-"linux/arm64,linux/amd64"}
10
docker build \
Michael Yang's avatar
Michael Yang committed
11
    --load \
12
    --platform=${BUILD_PLATFORM} \
Michael Yang's avatar
Michael Yang committed
13
14
15
    --build-arg=VERSION \
    --build-arg=GOFLAGS \
    -f Dockerfile \
16
    -t ${IMAGE_NAME}:$VERSION \
Michael Yang's avatar
Michael Yang committed
17
    .
18
19
20
21
22
23
24
25

docker build \
    --load \
    --platform=linux/amd64 \
    --build-arg=VERSION \
    --build-arg=GOFLAGS \
    --target runtime-rocm \
    -f Dockerfile \
26
    -t ${IMAGE_NAME}:$VERSION-rocm \
27
    .
28
29
30
31
32
33
34

docker tag ${IMAGE_NAME}:$VERSION ${IMAGE_NAME}:latest
docker tag ${IMAGE_NAME}:$VERSION-rocm ${IMAGE_NAME}:rocm

echo "To release, run:"
echo "  docker push ${IMAGE_NAME}:$VERSION && docker push ${IMAGE_NAME}:latest"
echo "  docker push ${IMAGE_NAME}:$VERSION-rocm && docker push ${IMAGE_NAME}:rocm"