ARG SERVER_PHP_IMAGE=unknown ARG COMPOSER_IMAGE=composer:latest # Image Composer FROM ${COMPOSER_IMAGE} AS php_composer # Image du serveur PHP à utiliser (Apache, FrankenPHP...) FROM ${SERVER_PHP_IMAGE} # Installation de Composer COPY --from=php_composer /usr/bin/composer /usr/local/bin/composer # Activation du mode rewrite d'Apache ARG SERVER_PHP_IMAGE RUN if echo "$SERVER_PHP_IMAGE" | grep -qi apache; then \ a2enmod rewrite headers; \ fi RUN apt-get update && apt-get install -y \ nano \ git \ mariadb-client \ npm \ # Pour l'extension PHP intl libicu-dev \ # Zip unzip zip libzip-dev zlib1g-dev \ # GD libpng-dev libjpeg-dev libwebp-dev libavif-dev libfreetype6-dev \ && docker-php-ext-configure gd \ --with-freetype \ --with-jpeg \ --with-webp \ --with-avif \ && docker-php-ext-install zip pdo_mysql gd sockets intl \ # Installation de PIE (PHP Installer for Extensions : https://github.com/php/pie) && curl -fL --output /tmp/pie.phar https://github.com/php/pie/releases/latest/download/pie.phar \ && mv /tmp/pie.phar /usr/local/bin/pie \ && chmod +x /usr/local/bin/pie # Installation de Memcached ARG WITH_MEMCACHED=false RUN if [ "$WITH_MEMCACHED" = "true" ]; then \ apt-get install -y libmemcached-dev; \ pie install php-memcached/php-memcached; \ fi RUN apt-get clean \ && rm -rf /var/lib/apt/lists/* 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