diff options
author | Amir Zarrinkafsh <nightah@me.com> | 2020-05-08 21:59:39 +1000 |
---|---|---|
committer | Amir Zarrinkafsh <nightah@me.com> | 2020-05-08 21:59:39 +1000 |
commit | abe6df52b500199ff4b379e0370427267a16992b (patch) | |
tree | feb59617e4230c8de90e527581357d23a74c5dc4 | |
parent | b317857892921423479b713fb530f5d07d1f5d82 (diff) | |
download | homer-abe6df52b500199ff4b379e0370427267a16992b.tar.gz homer-abe6df52b500199ff4b379e0370427267a16992b.tar.zst homer-abe6df52b500199ff4b379e0370427267a16992b.zip |
Build multi-arch container with manifest
-rw-r--r-- | Dockerfile.arm32v7 | 15 | ||||
-rw-r--r-- | Dockerfile.arm64v8 | 15 | ||||
-rw-r--r-- | hooks/post_push | 7 | ||||
-rw-r--r-- | hooks/pre_build | 8 |
4 files changed, 45 insertions, 0 deletions
diff --git a/Dockerfile.arm32v7 b/Dockerfile.arm32v7 new file mode 100644 index 0000000..79a7a61 --- /dev/null +++ b/Dockerfile.arm32v7 | |||
@@ -0,0 +1,15 @@ | |||
1 | FROM arm32v7/alpine:3.11 | ||
2 | |||
3 | COPY ./ /www/ | ||
4 | |||
5 | ENV USER darkhttpd | ||
6 | ENV GROUP darkhttpd | ||
7 | ENV GID 911 | ||
8 | ENV UID 911 | ||
9 | |||
10 | RUN addgroup -S ${GROUP} -g ${GID} && adduser -D -S -u ${UID} ${USER} ${GROUP} && \ | ||
11 | apk add -U darkhttpd | ||
12 | |||
13 | USER darkhttpd | ||
14 | |||
15 | ENTRYPOINT ["darkhttpd","/www/"] | ||
diff --git a/Dockerfile.arm64v8 b/Dockerfile.arm64v8 new file mode 100644 index 0000000..707dd83 --- /dev/null +++ b/Dockerfile.arm64v8 | |||
@@ -0,0 +1,15 @@ | |||
1 | FROM arm64v8/alpine:3.11 | ||
2 | |||
3 | COPY ./ /www/ | ||
4 | |||
5 | ENV USER darkhttpd | ||
6 | ENV GROUP darkhttpd | ||
7 | ENV GID 911 | ||
8 | ENV UID 911 | ||
9 | |||
10 | RUN addgroup -S ${GROUP} -g ${GID} && adduser -D -S -u ${UID} ${USER} ${GROUP} && \ | ||
11 | apk add -U darkhttpd | ||
12 | |||
13 | USER darkhttpd | ||
14 | |||
15 | ENTRYPOINT ["darkhttpd","/www/"] | ||
diff --git a/hooks/post_push b/hooks/post_push new file mode 100644 index 0000000..d721b68 --- /dev/null +++ b/hooks/post_push | |||
@@ -0,0 +1,7 @@ | |||
1 | #!/bin/bash | ||
2 | |||
3 | docker manifest push --purge b4bz/homer:latest | ||
4 | docker manifest create b4bz/homer:latest b4bz/homer:latest-amd64 b4bz/homer:latest-arm32v7 b4bz/homer:latest-arm64v8 | ||
5 | docker manifest annotate b4bz/homer:latest b4bz/homer:latest-arm32v7 --os linux --arch arm | ||
6 | docker manifest annotate b4bz/homer:latest b4bz/homer:latest-arm64v8 --os linux --arch arm64 --variant v8 | ||
7 | docker manifest push --purge b4bz/homer:latest \ No newline at end of file | ||
diff --git a/hooks/pre_build b/hooks/pre_build new file mode 100644 index 0000000..bc1b6fe --- /dev/null +++ b/hooks/pre_build | |||
@@ -0,0 +1,8 @@ | |||
1 | #!/bin/bash | ||
2 | |||
3 | # Update to docker-ee 18.x for manifests | ||
4 | apt-get -y update | ||
5 | apt-get -y --only-upgrade install docker-ee | ||
6 | # Register qemu-*-static for all supported processors except the | ||
7 | # current one, but also remove all registered binfmt_misc before | ||
8 | docker run --rm --privileged multiarch/qemu-user-static:register --reset \ No newline at end of file | ||