Try to fix Dockerfile.

This commit is contained in:
Lauri Ojansivu 2018-07-02 19:05:39 +03:00
parent e03ee1bd2f
commit 44e20023cc
2 changed files with 69 additions and 49 deletions

View file

@ -47,55 +47,9 @@ RUN \
# Fiber.poolSize = 1e9;
# Getting newest Node from Sandstorm fork of Node
# Source: https://github.com/sandstorm-io/node
\
# From https://github.com/sandstorm-io/sandstorm/blob/master/branch.conf
SANDSTORM_BRANCH_NUMBER=0 && \
\
# From https://github.com/sandstorm-io/sandstorm/blob/master/release.sh
SANDSTORM_CHANNEL=dev && \
SANDSTORM_LAST_BUILD=$(curl -fs https://install.sandstorm.io/$SANDSTORM_CHANNEL) && \
\
# Latest Sandstorm Release
if (( SANDSTORM_LAST_BUILD / 1000 > SANDSTORM_BRANCH_NUMBER )); && \
then && \
echo "SANDSTORM BRANCH ERROR: $CHANNEL has already moved past this branch!" >&2 && \
echo " I refuse to replace it with an older branch." >&2 && \
exit 1 && \
fi && \
BASE_BUILD=$(( BRANCH_NUMBER * 1000 )) && \
BUILD=$(( BASE_BUILD > LAST_BUILD ? BASE_BUILD : LAST_BUILD + 1 )) && \
BUILD_MINOR="$(( $BUILD % 1000 ))" && \
DISPLAY_VERSION="${BRANCH_NUMBER}.${BUILD_MINOR}" && \
TAG_NAME="v${DISPLAY_VERSION}" && \
SIGNING_KEY_ID=160D2D577518B58D94C9800B63F227499DA8CCBD && \
TARBALL=sandstorm-$SANDSTORM_LAST_BUILD.tar.xz && \
NODE_EXE=sandstorm-$SANDSTORM_LAST_BUILD/bin/node && \
# Downloading Sandstorm GPG keys to verify Sandstorm release.
# Do verification in custom GPG workspace
# https://docs.sandstorm.io/en/latest/install/#option-3-pgp-verified-install
export GNUPGHOME=$(mktemp -d) && \
curl https://raw.githubusercontent.com/sandstorm-io/sandstorm/master/keys/release-keyring.gpg | gpg --import && \
wget https://raw.githubusercontent.com/sandstorm-io/sandstorm/master/keys/release-certificate.kentonv.sig && \
gpg --decrypt release-certificate.kentonv.sig && \
# Downloading Sandstorm release from https://dl.sandstorm.io/${TARBALL}
wget https://dl.sandstorm.io/$TARBALL && \
# Downloading signature for Sandstorm release from https://dl.sandstorm.io/${TARBALL}.sig
wget https://dl.sandstorm.io/$TARBALL.sig && \
# Verifying signature of Sandstorm release
gpg --verify $TARBALL.sig $TARBALL && \
\
if [ $? -eq 0 ] \
then \
echo "=== All is well. Good signature in Sandstorm." \
else \
echo "=== PROBLEM WITH SANDSTORM SIGNATURE." \
exit 1 \
fi && \
echo "=== Extracting Node from Sandstorm release tarball" && \
# --strip 2 removes path of 2 subdirectories
tar -xf $TARBALL $NODE_EXE --strip=2 && \
# Deleting Sandstorm release tarball and signature
rm $TARBALL $TARBALL.sig release-certificate.kentonv.si* && \
wget https://github.com/wekan/wekan/blob/devel/download-sandstorm-node.sh && \
bash download-sandstorm-node.sh && \
rm download-sandstorm-node.sh && \
# == OLD ==
# Download node version 8.11.1 that has fix included, node binary copied from Sandstorm
# Description at https://releases.wekan.team/node.txt

66
download-sandstorm-node.sh Executable file
View file

@ -0,0 +1,66 @@
#!/bin/bash
echo "=== GETTING NEWEST NODE FROM SANDSTORM FORK OF NODE ==="
echo "=== SOURCE: https://github.com/sandstorm-io/node ==="
# From https://github.com/sandstorm-io/sandstorm/blob/master/branch.conf
SANDSTORM_BRANCH_NUMBER=0
# From https://github.com/sandstorm-io/sandstorm/blob/master/release.sh
SANDSTORM_CHANNEL=dev
SANDSTORM_LAST_BUILD=$(curl -fs https://install.sandstorm.io/$SANDSTORM_CHANNEL)
echo "=== LATEST SANDSTORM RELEASE: ${SANDSTORM_LAST_BUILD}==="
if (( SANDSTORM_LAST_BUILD / 1000 > SANDSTORM_BRANCH_NUMBER )); then
echo "SANDSTORM BRANCH ERROR: $CHANNEL has already moved past this branch!" >&2
echo " I refuse to replace it with an older branch." >&2
exit 1
fi
BASE_BUILD=$(( BRANCH_NUMBER * 1000 ))
BUILD=$(( BASE_BUILD > LAST_BUILD ? BASE_BUILD : LAST_BUILD + 1 ))
BUILD_MINOR="$(( $BUILD % 1000 ))"
DISPLAY_VERSION="${BRANCH_NUMBER}.${BUILD_MINOR}"
TAG_NAME="v${DISPLAY_VERSION}"
SIGNING_KEY_ID=160D2D577518B58D94C9800B63F227499DA8CCBD
TARBALL=sandstorm-$SANDSTORM_LAST_BUILD.tar.xz
NODE_EXE=sandstorm-$SANDSTORM_LAST_BUILD/bin/node
echo "=== DOWNLOADING SANDSTORM GPG KEYS TO VERIFY SANDSTORM RELEASE ==="
# Do verification in custom GPG workspace
# https://docs.sandstorm.io/en/latest/install/#option-3-pgp-verified-install
export GNUPGHOME=$(mktemp -d)
curl https://raw.githubusercontent.com/sandstorm-io/sandstorm/master/keys/release-keyring.gpg | \
gpg --import
wget https://raw.githubusercontent.com/sandstorm-io/sandstorm/master/keys/release-certificate.kentonv.sig
gpg --decrypt release-certificate.kentonv.sig
echo "=== DOWNLOADING SANDSTORM RELEASE FROM https://dl.sandstorm.io/${TARBALL} ==="
wget https://dl.sandstorm.io/$TARBALL
echo "=== DOWNLOADING SIGNATURE FOR SANDSTORM RELEASE FROM https://dl.sandstorm.io/${TARBALL}.sig ==="
wget https://dl.sandstorm.io/$TARBALL.sig
echo "=== VERIFYING SIGNATURE OF SANDSTORM RELEASE ==="
gpg --verify $TARBALL.sig $TARBALL
if [ $? -eq 0 ]
then
echo "=== ALL IS WELL. GOOD SIGNATURE IN SANDSTORM. ==="
else
echo "=== PROBLEM WITH SANDSTORM SIGNATURE. ==="
exit 1
fi
echo "=== EXTRACTING NODE FROM SANDSTORM RELEASE TARBALL ==="
# --strip 2 removes path of 2 subdirectories
tar -xf $TARBALL $NODE_EXE --strip=2
echo "=== REMOVING SANDSTORM RELEASE TARBALL AND SIGNATURE ==="
rm $TARBALL $TARBALL.sig release-certificate.kentonv.si*