build_linux.sh 760 Bytes
Newer Older
xuxzh1's avatar
init  
xuxzh1 committed
1
#!/bin/sh
xuxzh1's avatar
update  
xuxzh1 committed
2
3
4
5
6
7
8
9
#
# Mac ARM users, rosetta can be flaky, so to use a remote x86 builder
#
# docker context create amd64 --docker host=ssh://mybuildhost
# docker buildx create --name mybuilder amd64 --platform linux/amd64
# docker buildx create --name mybuilder --append desktop-linux --platform linux/arm64
# docker buildx use mybuilder

xuxzh1's avatar
init  
xuxzh1 committed
10
11
12

set -eu

xuxzh1's avatar
update  
xuxzh1 committed
13
. $(dirname $0)/env.sh
xuxzh1's avatar
init  
xuxzh1 committed
14
15
16

mkdir -p dist

xuxzh1's avatar
update  
xuxzh1 committed
17
18
19
20
21
docker buildx build \
        --output type=local,dest=./dist/ \
        --platform=${PLATFORM} \
        ${OLLAMA_COMMON_BUILD_ARGS} \
        --target dist \
xuxzh1's avatar
init  
xuxzh1 committed
22
23
24
        -f Dockerfile \
        .

xuxzh1's avatar
update  
xuxzh1 committed
25
26
27
28
29
# buildx behavior changes for single vs. multiplatform
if echo $PLATFORM | grep "," > /dev/null ; then 
        mv -f ./dist/linux_*64/ollama* ./dist/
        rmdir ./dist/linux_*64
fi