aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAmir Zarrinkafsh <nightah@me.com>2020-05-20 15:31:02 +1000
committerAmir Zarrinkafsh <nightah@me.com>2020-05-20 15:31:02 +1000
commit5a5412c5d12d535b41084a7e1971922af156ae7c (patch)
treea6182915342fc6ec9f1102bcda69a07ff1083e98
parentc92844bd0ed19747d0f06701475adbf73a3ab0e1 (diff)
downloadhomer-5a5412c5d12d535b41084a7e1971922af156ae7c.tar.gz
homer-5a5412c5d12d535b41084a7e1971922af156ae7c.tar.zst
homer-5a5412c5d12d535b41084a7e1971922af156ae7c.zip
Fixing multi-arch container builds
-rw-r--r--Dockerfile.arm32v711
-rw-r--r--Dockerfile.arm64v811
-rw-r--r--hooks/post_push5
3 files changed, 18 insertions, 9 deletions
diff --git a/Dockerfile.arm32v7 b/Dockerfile.arm32v7
index 58a1834..12322d4 100644
--- a/Dockerfile.arm32v7
+++ b/Dockerfile.arm32v7
@@ -1,6 +1,12 @@
1FROM alpine as qemu
2
3ARG QEMU_VERSION "v4.2.0-7"
4
5RUN wget https://github.com/multiarch/qemu-user-static/releases/download/${QEMU_VERSION}/qemu-arm-static && chmod +x qemu-arm-static
6
1FROM arm32v7/alpine:3.11 7FROM arm32v7/alpine:3.11
2COPY qemu-arm-static /usr/bin
3 8
9COPY --from=qemu qemu-arm-static /usr/bin/
4COPY ./ /www/ 10COPY ./ /www/
5 11
6ENV USER darkhttpd 12ENV USER darkhttpd
@@ -9,7 +15,8 @@ ENV GID 911
9ENV UID 911 15ENV UID 911
10 16
11RUN addgroup -S ${GROUP} -g ${GID} && adduser -D -S -u ${UID} ${USER} ${GROUP} && \ 17RUN addgroup -S ${GROUP} -g ${GID} && adduser -D -S -u ${UID} ${USER} ${GROUP} && \
12 apk add -U darkhttpd 18 apk add -U darkhttpd && \
19 rm /usr/bin/qemu-arm-static
13 20
14USER darkhttpd 21USER darkhttpd
15 22
diff --git a/Dockerfile.arm64v8 b/Dockerfile.arm64v8
index 69132a3..490a109 100644
--- a/Dockerfile.arm64v8
+++ b/Dockerfile.arm64v8
@@ -1,6 +1,12 @@
1FROM alpine as qemu
2
3ARG QEMU_VERSION "v4.2.0-7"
4
5RUN wget https://github.com/multiarch/qemu-user-static/releases/download/${QEMU_VERSION}/qemu-aarch64-static && chmod +x qemu-aarch64-static
6
1FROM arm64v8/alpine:3.11 7FROM arm64v8/alpine:3.11
2COPY qemu-arm-static /usr/bin
3 8
9COPY --from=qemu qemu-aarch64-static /usr/bin/
4COPY ./ /www/ 10COPY ./ /www/
5 11
6ENV USER darkhttpd 12ENV USER darkhttpd
@@ -9,7 +15,8 @@ ENV GID 911
9ENV UID 911 15ENV UID 911
10 16
11RUN addgroup -S ${GROUP} -g ${GID} && adduser -D -S -u ${UID} ${USER} ${GROUP} && \ 17RUN addgroup -S ${GROUP} -g ${GID} && adduser -D -S -u ${UID} ${USER} ${GROUP} && \
12 apk add -U darkhttpd 18 apk add -U darkhttpd && \
19 rm /usr/bin/qemu-aarch64-static
13 20
14USER darkhttpd 21USER darkhttpd
15 22
diff --git a/hooks/post_push b/hooks/post_push
index 08384f3..d721b68 100644
--- a/hooks/post_push
+++ b/hooks/post_push
@@ -1,10 +1,5 @@
1#!/bin/bash 1#!/bin/bash
2 2
3#!/bin/bash
4# downloads a local copy of qemu on docker-hub build machines
5curl -L https://github.com/balena-io/qemu/releases/download/v3.0.0%2Bresin/qemu-3.0.0+resin-arm.tar.gz | tar zxvf - -C . && mv qemu-3.0.0+resin-arm/qemu-arm-static .
6
7
8docker manifest push --purge b4bz/homer:latest 3docker manifest push --purge b4bz/homer:latest
9docker manifest create b4bz/homer:latest b4bz/homer:latest-amd64 b4bz/homer:latest-arm32v7 b4bz/homer:latest-arm64v8 4docker manifest create b4bz/homer:latest b4bz/homer:latest-amd64 b4bz/homer:latest-arm32v7 b4bz/homer:latest-arm64v8
10docker manifest annotate b4bz/homer:latest b4bz/homer:latest-arm32v7 --os linux --arch arm 5docker manifest annotate b4bz/homer:latest b4bz/homer:latest-arm32v7 --os linux --arch arm