File tree 3 files changed +56
-2
lines changed
3 files changed +56
-2
lines changed Original file line number Diff line number Diff line change 5
5
imgproxy
6
6
7
7
docs /
8
- docker /
9
8
examples /
10
9
LICENSE
11
10
README.md
Original file line number Diff line number Diff line change @@ -2,8 +2,11 @@ ARG BASE_IMAGE_VERSION="v3.2.1"
2
2
3
3
FROM darthsim/imgproxy-base:${BASE_IMAGE_VERSION}
4
4
5
+ ARG BUILDPLATFORM
6
+ ARG TARGETPLATFORM
7
+
5
8
COPY . .
6
- RUN [ "bash" , "-c" , "go build -v -o /usr/local/bin/imgproxy" ]
9
+ RUN docker/go.sh build -v -o /usr/local/bin/imgproxy
7
10
8
11
# ==================================================================================================
9
12
# Final image
Original file line number Diff line number Diff line change
1
+ #! /bin/bash
2
+
3
+ set -e
4
+
5
+ # This is pretty dirty hack. Building imgproxy under Qemu is pretty slow.
6
+ # So we install Go binary native for the BUILDPLATFORM.
7
+ if [[ $BUILDPLATFORM != $TARGETPLATFORM ]]; then
8
+ case " $BUILDPLATFORM " in
9
+ amd64 | " linux/amd64" )
10
+ BUILD_ARCH=" amd64"
11
+ ;;
12
+
13
+ arm64 | " arm64/v8" | " linux/arm64" | " linux/arm64/v8" )
14
+ BUILDPLATFORM=" arm64"
15
+ ;;
16
+
17
+ * )
18
+ echo " Unknown platform: $BUILDPLATFORM "
19
+ exit 1
20
+ esac
21
+
22
+ case " $TARGETPLATFORM " in
23
+ amd64 | " linux/amd64" )
24
+ TARGET_ARCH=" amd64"
25
+ ;;
26
+
27
+ arm64 | " arm64/v8" | " linux/arm64" | " linux/arm64/v8" )
28
+ TARGET_ARCH=" arm64"
29
+ ;;
30
+
31
+ * )
32
+ echo " Unknown platform: $TARGETPLATFORM "
33
+ exit 1
34
+ esac
35
+
36
+ GOLANG_VERSION=$( go version | sed -E ' s/.*go([0-9]+\.[0-9]+\.[0-9]+).*/\1/' )
37
+
38
+ rm -rf /usr/local/go
39
+
40
+ dpkg --add-architecture ${BUILD_ARCH}
41
+ apt-get update
42
+ apt-get install -y --no-install-recommends libstdc++6:${BUILD_ARCH}
43
+
44
+ curl -Ls https://golang.org/dl/go${GOLANG_VERSION} .linux-${BUILD_ARCH} .tar.gz \
45
+ | tar -xzC /usr/local
46
+
47
+ export CGO_ENABLED=1
48
+ export GOOS=linux
49
+ export GOARCH=$TARGET_ARCH
50
+ fi
51
+
52
+ go $@
You can’t perform that action at this time.
0 commit comments