Browse Source

Upgrade to Node.js 14.21.4 at build scripts and remaining Docker containers.

Thanks to Meteor and xet7 !
Lauri Ojansivu 1 year ago
parent
commit
9f6e6bdc81
3 changed files with 29 additions and 17 deletions
  1. 10 6
      .devcontainer/Dockerfile
  2. 5 3
      Dockerfile.arm64v8
  3. 14 8
      rebuild-wekan.sh

+ 10 - 6
.devcontainer/Dockerfile

@@ -10,8 +10,8 @@ ENV DEBIAN_FRONTEND=noninteractive
 
 
 ENV \
 ENV \
     DEBUG=false \
     DEBUG=false \
-    NODE_VERSION=v14.21.3 \
-    METEOR_RELEASE=1.10.2 \
+    NODE_VERSION=v14.21.4 \
+    METEOR_RELEASE=METEOR@2.13 \
     USE_EDGE=false \
     USE_EDGE=false \
     METEOR_EDGE=1.5-beta.17 \
     METEOR_EDGE=1.5-beta.17 \
     NPM_VERSION=latest \
     NPM_VERSION=latest \
@@ -162,14 +162,18 @@ RUN set -o xtrace \
   && apt-get install --assume-yes --no-install-recommends apt-utils apt-transport-https ca-certificates 2>&1 \
   && apt-get install --assume-yes --no-install-recommends apt-utils apt-transport-https ca-certificates 2>&1 \
   && apt-get install --assume-yes --no-install-recommends ${BUILD_DEPS}
   && apt-get install --assume-yes --no-install-recommends ${BUILD_DEPS}
 
 
+# OLD:
+#  && curl -fsSLO --compressed "https://nodejs.org/dist/$NODE_VERSION/node-$NODE_VERSION-$ARCHITECTURE.tar.xz" \
+#  && curl -fsSLO --compressed "https://nodejs.org/dist/$NODE_VERSION/SHASUMS256.txt.asc" \
+
 # Install NodeJS
 # Install NodeJS
 RUN set -o xtrace \
 RUN set -o xtrace \
   && cd /tmp \
   && cd /tmp \
-  && curl -fsSLO --compressed "https://nodejs.org/dist/$NODE_VERSION/node-$NODE_VERSION-$ARCHITECTURE.tar.xz" \
-  && curl -fsSLO --compressed "https://nodejs.org/dist/$NODE_VERSION/SHASUMS256.txt.asc" \
-  && grep " node-$NODE_VERSION-$ARCHITECTURE.tar.xz\$" SHASUMS256.txt.asc | sha256sum -c - \
+  && curl -fsSLO --compressed "https://github.com/wekan/node-v14-esm/releases/download/${NODE_VERSION}/node-${NODE_VERSION}-${ARCHITECTURE}.tar.xz" \
+  && curl -fsSLO --compressed "https://github.com/wekan/node-v14-esm/releases/download/${NODE_VERSION}/SHASUMS256.txt" \
+  && grep " node-$NODE_VERSION-$ARCHITECTURE.tar.xz\$" SHASUMS256.txt | sha256sum -c - \
   && tar -xJf "node-$NODE_VERSION-$ARCHITECTURE.tar.xz" -C /usr/local --strip-components=1 --no-same-owner \
   && tar -xJf "node-$NODE_VERSION-$ARCHITECTURE.tar.xz" -C /usr/local --strip-components=1 --no-same-owner \
-  && rm "node-$NODE_VERSION-$ARCHITECTURE.tar.xz" SHASUMS256.txt.asc \
+  && rm "node-$NODE_VERSION-$ARCHITECTURE.tar.xz" SHASUMS256.txt \
   && ln -s /usr/local/bin/node /usr/local/bin/nodejs \
   && ln -s /usr/local/bin/node /usr/local/bin/nodejs \
   && mkdir -p /usr/local/lib/node_modules/fibers/.node-gyp /root/.node-gyp/${NODE_VERSION} /home/wekan/.config \
   && mkdir -p /usr/local/lib/node_modules/fibers/.node-gyp /root/.node-gyp/${NODE_VERSION} /home/wekan/.config \
   && npm install -g npm@${NPM_VERSION} \
   && npm install -g npm@${NPM_VERSION} \

+ 5 - 3
Dockerfile.arm64v8

@@ -4,7 +4,7 @@ FROM amd64/alpine:3.7 AS builder
 ENV QEMU_VERSION=v4.2.0-6 \
 ENV QEMU_VERSION=v4.2.0-6 \
     QEMU_ARCHITECTURE=aarch64 \
     QEMU_ARCHITECTURE=aarch64 \
     NODE_ARCHITECTURE=linux-arm64 \
     NODE_ARCHITECTURE=linux-arm64 \
-    NODE_VERSION=v14.21.3 \
+    NODE_VERSION=v14.21.4 \
     WEKAN_VERSION=latest  \
     WEKAN_VERSION=latest  \
     WEKAN_ARCHITECTURE=arm64 \
     WEKAN_ARCHITECTURE=arm64 \
     NODE_OPTIONS="--max_old_space_size=4096"
     NODE_OPTIONS="--max_old_space_size=4096"
@@ -33,8 +33,10 @@ RUN apk update && apk add ca-certificates outils-sha1 && \
     unzip wekan-${WEKAN_VERSION}-${WEKAN_ARCHITECTURE}.zip && \
     unzip wekan-${WEKAN_VERSION}-${WEKAN_ARCHITECTURE}.zip && \
     \
     \
     # Download node and shasums
     # 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 && \
+    #wget https://nodejs.org/dist/${NODE_VERSION}/node-${NODE_VERSION}-${NODE_ARCHITECTURE}.tar.gz && \
+    #wget https://nodejs.org/dist/${NODE_VERSION}/SHASUMS256.txt.asc && \
+    #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
     # Verify nodejs authenticity
     grep node-${NODE_VERSION}-${NODE_ARCHITECTURE}.tar.gz SHASUMS256.txt.asc | sha256sum -c - && \
     grep node-${NODE_VERSION}-${NODE_ARCHITECTURE}.tar.gz SHASUMS256.txt.asc | sha256sum -c - && \

+ 14 - 8
rebuild-wekan.sh

@@ -40,21 +40,27 @@ do
 			#curl -0 -L https://npmjs.org/install.sh | sudo sh
 			#curl -0 -L https://npmjs.org/install.sh | sudo sh
 			#sudo chown -R $(id -u):$(id -g) $HOME/.npm
 			#sudo chown -R $(id -u):$(id -g) $HOME/.npm
 			sudo npm -g install n
 			sudo npm -g install n
-			sudo n 14.21.3
-			sudo npm -g install npm
-			#sudo npm -g install npm
-			## Latest npm with Meteor 2.2
+			# Using custom Node.js mirror with n Node.js version manager
+			# - Custom source: https://github.com/tj/n#custom-source
+			# - sudo -E uses existing environment variables, so that this can be used in build script:
+			#   https://github.com/tj/n/issues/584#issuecomment-523640742
+			export N_NODE_MIRROR=https://github.com/wekan/node-v14-esm/releases/download
+			sudo -E n 14.21.4
 			sudo npm -g uninstall node-pre-gyp
 			sudo npm -g uninstall node-pre-gyp
+			# Latest fibers for Meteor sudo mkdir -p /usr/local/lib/node_modules/fibers/.node-gyp sudo npm -g install fibers
 			sudo npm -g install @mapbox/node-pre-gyp
 			sudo npm -g install @mapbox/node-pre-gyp
-			# Latest fibers for Meteor 2.2
-			#sudo mkdir -p /usr/local/lib/node_modules/fibers/.node-gyp
-			#sudo npm -g install fibers
 			# Install Meteor, if it's not yet installed
 			# Install Meteor, if it's not yet installed
 			sudo npm -g install meteor --unsafe-perm
 			sudo npm -g install meteor --unsafe-perm
 			#sudo chown -R $(id -u):$(id -g) $HOME/.npm $HOME/.meteor
 			#sudo chown -R $(id -u):$(id -g) $HOME/.npm $HOME/.meteor
 		elif [[ "$OSTYPE" == "darwin"* ]]; then
 		elif [[ "$OSTYPE" == "darwin"* ]]; then
 		        echo "macOS";
 		        echo "macOS";
-			pause '1) Install XCode 2) Install Node 14.x from https://nodejs.org/en/ 3) Press [Enter] key to continue.'
+			brew install npm
+			npm -g install n
+			export N_NODE_MIRROR=https://github.com/wekan/node-v14-esm/releases/download
+			n 14.21.4
+			npm -g uninstall node-pre-gyp
+			npm -g install @mapbox/node-pre-gyp
+			npm -g install meteor
 		elif [[ "$OSTYPE" == "cygwin" ]]; then
 		elif [[ "$OSTYPE" == "cygwin" ]]; then
 		        # POSIX compatibility layer and Linux environment emulation for Windows
 		        # POSIX compatibility layer and Linux environment emulation for Windows
 		        echo "TODO: Add Cygwin";
 		        echo "TODO: Add Cygwin";