mirror of
https://github.com/EGroupware/egroupware.git
synced 2025-02-16 10:21:23 +01:00
updated Dockerfile and build.sh to get NodeJS 20 for all architectures
This commit is contained in:
parent
6818d018ce
commit
36ed3d3fc4
@ -1,6 +1,6 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
##
|
##
|
||||||
## EGroupware FPM container using Ubuntu 20.04 and PHP 8.1 from ondrej/php PPA
|
## EGroupware FPM container using Ubuntu 20.04, NodeJS 20 and PHP 8.2 from ondrej/php PPA
|
||||||
##
|
##
|
||||||
################################################################################
|
################################################################################
|
||||||
ARG ARCH=
|
ARG ARCH=
|
||||||
@ -9,6 +9,9 @@ MAINTAINER rb@egroupware.org
|
|||||||
|
|
||||||
ARG VERSION=dev-master
|
ARG VERSION=dev-master
|
||||||
ARG PHP_VERSION=8.2
|
ARG PHP_VERSION=8.2
|
||||||
|
# Set environment variable for non-interactive install
|
||||||
|
ARG DEBIAN_FRONTEND=noninteractive
|
||||||
|
ARG TARGETPLATFORM
|
||||||
|
|
||||||
# keeping build-arg in environment for entrypoint.sh
|
# keeping build-arg in environment for entrypoint.sh
|
||||||
ENV VERSION=$VERSION
|
ENV VERSION=$VERSION
|
||||||
@ -56,7 +59,7 @@ RUN set -e \
|
|||||||
&& ln -s /dev/stderr /var/log/php$PHP_VERSION-fpm.log \
|
&& ln -s /dev/stderr /var/log/php$PHP_VERSION-fpm.log \
|
||||||
&& update-alternatives --install /usr/sbin/php-fpm php-fpm /usr/sbin/php-fpm$PHP_VERSION 5 \
|
&& update-alternatives --install /usr/sbin/php-fpm php-fpm /usr/sbin/php-fpm$PHP_VERSION 5 \
|
||||||
# install tools to build EGroupware
|
# install tools to build EGroupware
|
||||||
&& apt-get install -y rsync zip curl sudo cron patch \
|
&& apt-get install -y xz-utils rsync zip curl sudo cron patch \
|
||||||
&& bash -c \
|
&& bash -c \
|
||||||
'EXPECTED_SIGNATURE=$(curl https://composer.github.io/installer.sig); \
|
'EXPECTED_SIGNATURE=$(curl https://composer.github.io/installer.sig); \
|
||||||
curl https://getcomposer.org/installer > composer-setup.php; \
|
curl https://getcomposer.org/installer > composer-setup.php; \
|
||||||
@ -81,13 +84,17 @@ exit $RESULT' \
|
|||||||
RUN set -e \
|
RUN set -e \
|
||||||
&& cd /usr/share/egroupware \
|
&& cd /usr/share/egroupware \
|
||||||
# install nodejs 20.x (Shoelace requires >= 14.17, Ubuntu 22.04 only has 12.x) \
|
# install nodejs 20.x (Shoelace requires >= 14.17, Ubuntu 22.04 only has 12.x) \
|
||||||
&& mkdir -p /etc/apt/keyrings \
|
&& if [ "$TARGETPLATFORM" = "linux/ppc64le" ]; then \
|
||||||
&& curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \
|
dist_node_v20=https://nodejs.org/dist/latest-v20.x/ \
|
||||||
&& echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list \
|
dist_node_v20_ppc64le=$(curl $dist_node_v20|grep ppc64le.tar.xz|cut -d'"' -f2) \
|
||||||
&& apt-get update \
|
curl $dist_node_v20$dist_node_v20_ppc64le | tar --directory=/usr/local/ -xJvf - ; \
|
||||||
&& apt-get install -y nodejs \
|
else \
|
||||||
# nodejs PPA does NOT exist for ppc64le, therefore we need to install npm separate, as not included in stock nodejs on Ubuntu
|
mkdir -p /etc/apt/keyrings \
|
||||||
&& test -f /usr/bin/npm || apt-get install -y npm \
|
&& curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \
|
||||||
|
&& echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list \
|
||||||
|
&& apt-get update \
|
||||||
|
&& apt-get install -y nodejs libatomic1 ; \
|
||||||
|
fi \
|
||||||
&& npm install -g grunt-cli \
|
&& npm install -g grunt-cli \
|
||||||
&& npm install \
|
&& npm install \
|
||||||
&& grunt \
|
&& grunt \
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
#!/bin/bash -x
|
#!/bin/bash -e
|
||||||
# To build PHP 8 snapshots out of master: doc/docker/fpm/build.sh 8.0 21.1.<date> master
|
# To build PHP 8 snapshots out of master: doc/docker/fpm/build.sh 8.0 21.1.<date> master
|
||||||
|
|
||||||
cd $(dirname $0)
|
cd $(dirname $0)
|
||||||
|
|
||||||
DEFAULT_PHP_VERSION=8.1
|
DEFAULT_PHP_VERSION=8.2
|
||||||
PHP_VERSION=$DEFAULT_PHP_VERSION
|
PHP_VERSION=$DEFAULT_PHP_VERSION
|
||||||
|
BASE=ubuntu:20.04
|
||||||
# which architectures to build for multi-platform images, if buildx is available on a Docker desktop or newer Docker installation
|
# which architectures to build for multi-platform images, if buildx is available on a Docker desktop or newer Docker installation
|
||||||
PLATFORMS=linux/amd64,linux/ppc64le,linux/arm/v7,linux/arm64/v8
|
PLATFORMS=linux/amd64,linux/ppc64le,linux/arm/v7,linux/arm64/v8
|
||||||
|
|
||||||
@ -33,7 +34,7 @@ BRANCH=$(echo $VERSION|sed 's/\.[0-9]\{8\}$//')
|
|||||||
# add PHP_VERSION to TAG, if not the default PHP version
|
# add PHP_VERSION to TAG, if not the default PHP version
|
||||||
[ $PHP_VERSION != $DEFAULT_PHP_VERSION ] && TAG=$TAG-$PHP_VERSION
|
[ $PHP_VERSION != $DEFAULT_PHP_VERSION ] && TAG=$TAG-$PHP_VERSION
|
||||||
|
|
||||||
docker pull ubuntu:20.04
|
docker pull $BASE
|
||||||
|
|
||||||
# add further tags for default PHP version only
|
# add further tags for default PHP version only
|
||||||
[ $PHP_VERSION = $DEFAULT_PHP_VERSION -a "$BRANCH" != $VERSION -a "dev-${BRANCH}" != $VERSION ] && {
|
[ $PHP_VERSION = $DEFAULT_PHP_VERSION -a "$BRANCH" != $VERSION -a "dev-${BRANCH}" != $VERSION ] && {
|
||||||
|
Loading…
Reference in New Issue
Block a user