.devcontainer/Dockerfile, updated RUN statements to heredoc style

This commit is contained in:
Martin Filser 2024-05-25 19:34:13 +02:00
parent 68104fe578
commit 2b4f4c8d4d

View file

@ -160,12 +160,16 @@ ENV \
ENV PATH=$PATH:/home/wekan/.meteor/ ENV PATH=$PATH:/home/wekan/.meteor/
RUN echo "export PATH=$PATH" >> /etc/environment RUN <<EOR
echo "export PATH=$PATH" >> /etc/environment
EOR
# Copy source dir # Copy source dir
RUN set -o xtrace \ RUN <<EOR
&& mkdir -p /home/wekan/app/.meteor \ set -o xtrace \
&& mkdir -p /home/wekan/app/packages mkdir -p /home/wekan/app/.meteor
mkdir -p /home/wekan/app/packages
EOR
COPY \ COPY \
.meteor/.finished-upgraders \ .meteor/.finished-upgraders \
@ -191,55 +195,55 @@ COPY \
/home/wekan/app/packages/ /home/wekan/app/packages/
# Install OS # Install OS
RUN set -o xtrace \ RUN <<EOR
&& useradd --user-group --no-create-home --system --home-dir /home/wekan wekan \ set -o xtrace
&& apt-get update \
&& apt-get install --assume-yes --no-install-recommends ${BUILD_DEPS} curl python3 ca-certificates build-essential \
# OLD: useradd --user-group --no-create-home --system --home-dir /home/wekan wekan
# && curl -fsSLO --compressed "https://nodejs.org/dist/$NODE_VERSION/node-$NODE_VERSION-$ARCHITECTURE.tar.xz" \ apt-get update
# && curl -fsSLO --compressed "https://nodejs.org/dist/$NODE_VERSION/SHASUMS256.txt.asc" \ apt-get install --assume-yes --no-install-recommends ${BUILD_DEPS} curl python3 ca-certificates build-essential
# Install NodeJS # Install NodeJS
&& cd /tmp \ cd /tmp
&& 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}/node-${NODE_VERSION}-${ARCHITECTURE}.tar.xz"
&& curl -fsSLO --compressed "https://github.com/wekan/node-v14-esm/releases/download/${NODE_VERSION}/SHASUMS256.txt" \ 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 - \ 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 \ 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}
&& chown wekan:wekan --recursive /home/wekan/.config \ chown wekan:wekan --recursive /home/wekan/.config
# Install Meteor # Install Meteor
&& cd /home/wekan \ cd /home/wekan
&& curl https://install.meteor.com/?release=$METEOR_VERSION --output /home/wekan/install-meteor.sh \ curl https://install.meteor.com/?release=$METEOR_VERSION --output /home/wekan/install-meteor.sh
# Replace tar with bsdtar in the install script; https://github.com/jshimko/meteor-launchpad/issues/39
&& sed --in-place "s/tar -xzf.*/bsdtar -xf \"\$TARBALL_FILE\" -C \"\$INSTALL_TMPDIR\"/g" /home/wekan/install-meteor.sh \
&& sed --in-place 's/VERBOSITY="--silent"/VERBOSITY="--progress-bar"/' /home/wekan/install-meteor.sh \
&& printf "\n[-] Installing Meteor $METEOR_VERSION...\n\n" \
&& chown wekan:wekan -R /home/wekan \
&& gosu wekan:wekan sh /home/wekan/install-meteor.sh && \
chown -R wekan:wekan /home/wekan/app /home/wekan/.meteor && \ # Replace tar with bsdtar in the install script; https://github.com/jshimko/meteor-launchpad/issues/39
cd /home/wekan/.meteor && \ sed --in-place "s/tar -xzf.*/bsdtar -xf \"\$TARBALL_FILE\" -C \"\$INSTALL_TMPDIR\"/g" /home/wekan/install-meteor.sh
gosu wekan:wekan /home/wekan/.meteor/meteor -- help && \ sed --in-place 's/VERBOSITY="--silent"/VERBOSITY="--progress-bar"/' /home/wekan/install-meteor.sh
printf "\n[-] Installing Meteor $METEOR_VERSION...\n\n"
chown wekan:wekan -R /home/wekan
gosu wekan:wekan sh /home/wekan/install-meteor.sh &&
# Build app chown -R wekan:wekan /home/wekan/app /home/wekan/.meteor
cd /home/wekan/app && \ cd /home/wekan/.meteor
gosu wekan:wekan /home/wekan/.meteor/meteor add standard-minifier-js && \ gosu wekan:wekan /home/wekan/.meteor/meteor -- help
gosu wekan:wekan /home/wekan/.meteor/meteor npm install && \
# Cleanup # Build app
apt-get remove --purge --assume-yes ${BUILD_DEPS} && \ cd /home/wekan/app
apt-get install --assume-yes --no-install-recommends build-essential && \ gosu wekan:wekan /home/wekan/.meteor/meteor add standard-minifier-js
apt-get clean -y && \ gosu wekan:wekan /home/wekan/.meteor/meteor npm install
apt-get autoremove -y && \
rm -Rf /tmp/* && \ # Cleanup
rm -Rf /home/wekan/app_build && \ apt-get remove --purge --assume-yes ${BUILD_DEPS}
rm -Rf /var/cache/apt /var/lib/apt/lists && \ apt-get install --assume-yes --no-install-recommends build-essential
rm -Rf /var/lib/apt/lists/* apt-get clean -y
apt-get autoremove -y
rm -Rf /tmp/*
rm -Rf /home/wekan/app_build
rm -Rf /var/cache/apt /var/lib/apt/lists
rm -Rf /var/lib/apt/lists/*
EOR
USER wekan USER wekan