diff --git a/.env.example b/.env.example index d16dbfb..ac9901a 100644 --- a/.env.example +++ b/.env.example @@ -14,6 +14,9 @@ APACHE_PHP_IMAGE="php:8.5-apache" # FrankenPHP FRANKENPHP_IMAGE="dunglas/frankenphp:1.11.2-php8.5" +# Image pour Node +NODE_IMAGE="node:24-slim" + # Image du serveur PHP #SERVER_PHP_IMAGE="${APACHE_PHP_IMAGE}" SERVER_PHP_IMAGE="${FRANKENPHP_IMAGE}" diff --git a/Dockerfile b/Dockerfile index b7c3367..1a5b812 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,8 +1,12 @@ +ARG NODE_IMAGE=unknown ARG SERVER_PHP_IMAGE=unknown ARG COMPOSER_IMAGE=composer:latest ARG SERVER_IMAGE_TITLE_LABEL=unknown ARG SERVER_IMAGE_DESCRIPTION_LABEL=unknown +# Image Node +FROM ${NODE_IMAGE} AS node + # Image Composer FROM ${COMPOSER_IMAGE} AS php_composer @@ -15,6 +19,9 @@ ARG SERVER_IMAGE_DESCRIPTION_LABEL LABEL org.opencontainers.image.title="${SERVER_IMAGE_TITLE_LABEL}" LABEL org.opencontainers.image.description="${SERVER_IMAGE_DESCRIPTION_LABEL}" +# Installation de Node +COPY --from=node /usr/local /usr/local + # Installation de Composer COPY --from=php_composer /usr/bin/composer /usr/local/bin/composer @@ -28,7 +35,6 @@ RUN apt-get update && apt-get install -y \ nano \ git \ mariadb-client \ - npm \ # Pour l'extension PHP intl libicu-dev \ # Zip @@ -67,7 +73,3 @@ RUN usermod -u 1000 www-data && groupmod -g 1000 www-data # Configuration pour Composer RUN mkdir -p /var/www/.cache/composer && chown -R www-data:www-data /var/www/.cache ENV COMPOSER_CACHE_DIR=/var/www/.cache/composer - -# Configuration de NPM -RUN mkdir -p /var/www/.npm && chown -R www-data:www-data /var/www/.npm -ENV NPM_CONFIG_CACHE=/var/www/.npm diff --git a/scripts/build-docker-image.sh b/scripts/build-docker-image.sh index fd26dce..e79a1c5 100755 --- a/scripts/build-docker-image.sh +++ b/scripts/build-docker-image.sh @@ -89,6 +89,13 @@ if [[ ! "$serverVersion" =~ ^[0-9]+(\.[0-9]+)*$ ]]; then exit 1 fi + +# Vérifie l'image de Node +if [[ "$NODE_IMAGE" == "" ]]; then + echo "Image de Node inconnue." + exit +fi + # Détermine le titre de l'image serverImageTitleLabel="Image PHP :phpVersion avec :serverName :serverVersion" serverImageTitleLabel=${serverImageTitleLabel/:phpVersion/${phpVersion}} @@ -106,6 +113,7 @@ dockerImageTag="${SERVER_IMAGE_REPOSITORY}:${phpVersion}-${serverName,,}-${serve buildCommand="docker build \ -f Dockerfile \ -t ${dockerImageTag} \ + --build-arg NODE_IMAGE=${NODE_IMAGE} \ --build-arg SERVER_PHP_IMAGE=${SERVER_PHP_IMAGE} \ --build-arg SERVER_IMAGE_TITLE_LABEL=\"${serverImageTitleLabel}\" \ --build-arg SERVER_IMAGE_DESCRIPTION_LABEL=\"${serverImageDescriptionLabel}\" \