| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 | FROM amd64/alpine:3.7 AS builder# Set the environment variables for builderENV QEMU_VERSION=v4.2.0-6 \    QEMU_ARCHITECTURE=aarch64 \    NODE_ARCHITECTURE=linux-arm64 \    NODE_VERSION=v14.20.0 \    WEKAN_VERSION=latest  \    WEKAN_ARCHITECTURE=arm64 \    NODE_OPTIONS="--max_old_space_size=4096"#---------------------------------------------------------------------# https://github.com/wekan/wekan/issues/3585#issuecomment-1021522132# Add more Node heap:#   NODE_OPTIONS="--max_old_space_size=4096"# Add more stack:#   bash -c "ulimit -s 65500; exec node --stack-size=65500 main.js"#---------------------------------------------------------------------    # Install dependenciesRUN 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 dockerfileFROM arm64v8/ubuntu:19.10LABEL maintainer="wekan"# Set the environment variables (defaults where required)ENV QEMU_ARCHITECTURE=aarch64 \    NODE_ARCHITECTURE=linux-arm64 \    NODE_VERSION=v14.20.0 \    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 imageCOPY --from=builder qemu-${QEMU_ARCHITECTURE}-static /usr/bin# Copy the app to the imageCOPY --from=builder bundle /home/wekan/bundle# CopyCOPY --from=builder node-${NODE_VERSION}-${NODE_ARCHITECTURE} /opt/nodejsRUN \    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 $PORTUSER wekan#---------------------------------------------------------------------# https://github.com/wekan/wekan/issues/3585#issuecomment-1021522132# Add more Node heap:#   NODE_OPTIONS="--max_old_space_size=4096"# Add more stack:#   bash -c "ulimit -s 65500; exec node --stack-size=65500 main.js"#---------------------------------------------------------------------##CMD ["node", "/home/wekan/bundle/main.js"]CMD ["bash", "-c", "ulimit -s 65500; exec node --stack-size=65500 /home/wekan/bundle/main.js"]
 |