From 72c1c49da357a089598503c94f8b451a281bbf78 Mon Sep 17 00:00:00 2001 From: thewoosterisroot Date: Thu, 16 Apr 2020 19:30:50 +0200 Subject: Adding dockerfiles for multi-arch builds and manifest. --- Dockerfile.arm64v8 | 77 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 Dockerfile.arm64v8 (limited to 'Dockerfile.arm64v8') diff --git a/Dockerfile.arm64v8 b/Dockerfile.arm64v8 new file mode 100644 index 00000000..35440ddc --- /dev/null +++ b/Dockerfile.arm64v8 @@ -0,0 +1,77 @@ +FROM amd64/alpine:3.7 AS builder + +# Set the environment variables for builder +ENV QEMU_VERSION=v4.2.0-6 \ + QEMU_ARCHITECTURE=aarch64 \ + NODE_ARCHITECTURE=linux-arm64 \ + NODE_VERSION=v12.16.1 \ + WEKAN_VERSION=3.96 \ + WEKAN_ARCHITECTURE=arm64 + + # Install dependencies +RUN apk update && apk add ca-certificates outils-sha1 && \ + \ + # Download qemu static for our architecture + wget https://github.com/multiarch/qemu-user-static/releases/download/${QEMU_VERSION}/qemu-${QEMU_ARCHITECTURE}-static.tar.gz -O - | tar -xz && \ + \ + # Download wekan and shasum + wget https://releases.wekan.team/raspi3/wekan-${WEKAN_VERSION}-${WEKAN_ARCHITECTURE}.zip && \ + wget https://releases.wekan.team/raspi3/SHA256SUMS.txt && \ + # Verify wekan + grep wekan-${WEKAN_VERSION}-${WEKAN_ARCHITECTURE}.zip SHA256SUMS.txt | sha256sum -c - && \ + \ + # Unzip wekan + unzip wekan-${WEKAN_VERSION}-${WEKAN_ARCHITECTURE}.zip && \ + \ + # Download node and shasums + wget https://nodejs.org/dist/${NODE_VERSION}/node-${NODE_VERSION}-${NODE_ARCHITECTURE}.tar.gz && \ + wget https://nodejs.org/dist/${NODE_VERSION}/SHASUMS256.txt.asc && \ + \ + # Verify nodejs authenticity + grep node-${NODE_VERSION}-${NODE_ARCHITECTURE}.tar.gz SHASUMS256.txt.asc | sha256sum -c - && \ + \ + # Extract node and remove tar.gz + tar xvzf node-${NODE_VERSION}-${NODE_ARCHITECTURE}.tar.gz + +# Build wekan dockerfile +FROM arm64v8/ubuntu:19.10 +LABEL maintainer="wekan" + +# Set the environment variables (defaults where required) +ENV QEMU_ARCHITECTURE=aarch64 \ + NODE_ARCHITECTURE=linux-arm64 \ + NODE_VERSION=v12.16.1 \ + NODE_ENV=production \ + NPM_VERSION=latest \ + WITH_API=true \ + PORT=8080 \ + ROOT_URL=http://localhost \ + MONGO_URL=mongodb://127.0.0.1:27017/wekan + +# Copy qemu-static to image +COPY --from=builder qemu-${QEMU_ARCHITECTURE}-static /usr/bin + +# Copy the app to the image +COPY --from=builder bundle /home/wekan/bundle + +# Copy +COPY --from=builder node-${NODE_VERSION}-${NODE_ARCHITECTURE} /opt/nodejs + +RUN \ + set -o xtrace && \ + # Add non-root user wekan + useradd --user-group --system --home-dir /home/wekan wekan && \ + \ + # Install Node + ln -s /opt/nodejs/bin/node /usr/bin/node && \ + ln -s /opt/nodejs/bin/npm /usr/bin/npm && \ + mkdir -p /opt/nodejs/lib/node_modules/fibers/.node-gyp /root/.node-gyp/8.16.1 /home/wekan/.config && \ + chown wekan --recursive /home/wekan/.config && \ + \ + # Install Node dependencies + npm install -g npm@${NPM_VERSION} + +EXPOSE $PORT +USER wekan + +CMD ["node", "/home/wekan/bundle/main.js"] -- cgit v1.2.3-1-g7c22 From 1d89e96dd101c11913f1acdd6d16b5650eaf18a7 Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Tue, 28 Apr 2020 18:58:01 +0300 Subject: Upgrade to Node v12.16.3 Thanks to Node developers and xet7 ! --- Dockerfile.arm64v8 | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'Dockerfile.arm64v8') diff --git a/Dockerfile.arm64v8 b/Dockerfile.arm64v8 index 35440ddc..bff3c71d 100644 --- a/Dockerfile.arm64v8 +++ b/Dockerfile.arm64v8 @@ -4,11 +4,11 @@ FROM amd64/alpine:3.7 AS builder ENV QEMU_VERSION=v4.2.0-6 \ QEMU_ARCHITECTURE=aarch64 \ NODE_ARCHITECTURE=linux-arm64 \ - NODE_VERSION=v12.16.1 \ + NODE_VERSION=v12.16.3 \ WEKAN_VERSION=3.96 \ WEKAN_ARCHITECTURE=arm64 - - # Install dependencies + + # Install dependencies RUN apk update && apk add ca-certificates outils-sha1 && \ \ # Download qemu static for our architecture @@ -18,7 +18,7 @@ RUN apk update && apk add ca-certificates outils-sha1 && \ wget https://releases.wekan.team/raspi3/wekan-${WEKAN_VERSION}-${WEKAN_ARCHITECTURE}.zip && \ wget https://releases.wekan.team/raspi3/SHA256SUMS.txt && \ # Verify wekan - grep wekan-${WEKAN_VERSION}-${WEKAN_ARCHITECTURE}.zip SHA256SUMS.txt | sha256sum -c - && \ + grep wekan-${WEKAN_VERSION}-${WEKAN_ARCHITECTURE}.zip SHA256SUMS.txt | sha256sum -c - && \ \ # Unzip wekan unzip wekan-${WEKAN_VERSION}-${WEKAN_ARCHITECTURE}.zip && \ @@ -33,7 +33,7 @@ RUN apk update && apk add ca-certificates outils-sha1 && \ # Extract node and remove tar.gz tar xvzf node-${NODE_VERSION}-${NODE_ARCHITECTURE}.tar.gz -# Build wekan dockerfile +# Build wekan dockerfile FROM arm64v8/ubuntu:19.10 LABEL maintainer="wekan" @@ -46,7 +46,7 @@ ENV QEMU_ARCHITECTURE=aarch64 \ WITH_API=true \ PORT=8080 \ ROOT_URL=http://localhost \ - MONGO_URL=mongodb://127.0.0.1:27017/wekan + MONGO_URL=mongodb://127.0.0.1:27017/wekan # Copy qemu-static to image COPY --from=builder qemu-${QEMU_ARCHITECTURE}-static /usr/bin @@ -55,7 +55,7 @@ COPY --from=builder qemu-${QEMU_ARCHITECTURE}-static /usr/bin COPY --from=builder bundle /home/wekan/bundle # Copy -COPY --from=builder node-${NODE_VERSION}-${NODE_ARCHITECTURE} /opt/nodejs +COPY --from=builder node-${NODE_VERSION}-${NODE_ARCHITECTURE} /opt/nodejs RUN \ set -o xtrace && \ -- cgit v1.2.3-1-g7c22