diff options
-rw-r--r-- | Dockerfile.arm32v7 | 23 | ||||
-rw-r--r-- | Dockerfile.arm64v8 | 23 | ||||
-rw-r--r-- | hooks/post_push | 7 | ||||
-rw-r--r-- | hooks/pre_build | 8 |
4 files changed, 61 insertions, 0 deletions
diff --git a/Dockerfile.arm32v7 b/Dockerfile.arm32v7 new file mode 100644 index 0000000..3b18243 --- /dev/null +++ b/Dockerfile.arm32v7 | |||
@@ -0,0 +1,23 @@ | |||
1 | FROM alpine as qemu | ||
2 | |||
3 | ARG QEMU_VERSION="v4.2.0-7" | ||
4 | |||
5 | RUN wget https://github.com/multiarch/qemu-user-static/releases/download/${QEMU_VERSION}/qemu-arm-static && chmod +x qemu-arm-static | ||
6 | |||
7 | FROM arm32v7/alpine:3.11 | ||
8 | |||
9 | COPY --from=qemu qemu-arm-static /usr/bin/ | ||
10 | COPY ./ /www/ | ||
11 | |||
12 | ENV USER darkhttpd | ||
13 | ENV GROUP darkhttpd | ||
14 | ENV GID 911 | ||
15 | ENV UID 911 | ||
16 | |||
17 | RUN addgroup -S ${GROUP} -g ${GID} && adduser -D -S -u ${UID} ${USER} ${GROUP} && \ | ||
18 | apk add -U darkhttpd && \ | ||
19 | rm /usr/bin/qemu-arm-static | ||
20 | |||
21 | USER darkhttpd | ||
22 | |||
23 | ENTRYPOINT ["darkhttpd","/www/"] | ||
diff --git a/Dockerfile.arm64v8 b/Dockerfile.arm64v8 new file mode 100644 index 0000000..0845c34 --- /dev/null +++ b/Dockerfile.arm64v8 | |||
@@ -0,0 +1,23 @@ | |||
1 | FROM alpine as qemu | ||
2 | |||
3 | ARG QEMU_VERSION="v4.2.0-7" | ||
4 | |||
5 | RUN wget https://github.com/multiarch/qemu-user-static/releases/download/${QEMU_VERSION}/qemu-aarch64-static && chmod +x qemu-aarch64-static | ||
6 | |||
7 | FROM arm64v8/alpine:3.11 | ||
8 | |||
9 | COPY --from=qemu qemu-aarch64-static /usr/bin/ | ||
10 | COPY ./ /www/ | ||
11 | |||
12 | ENV USER darkhttpd | ||
13 | ENV GROUP darkhttpd | ||
14 | ENV GID 911 | ||
15 | ENV UID 911 | ||
16 | |||
17 | RUN addgroup -S ${GROUP} -g ${GID} && adduser -D -S -u ${UID} ${USER} ${GROUP} && \ | ||
18 | apk add -U darkhttpd && \ | ||
19 | rm /usr/bin/qemu-aarch64-static | ||
20 | |||
21 | USER darkhttpd | ||
22 | |||
23 | 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 | ||