FROM php:8.3-fpm WORKDIR /var/www/html # Install system dependencies RUN apt-get update && apt-get install -y \ curl \ libfreetype6-dev \ libjpeg62-turbo-dev \ libpng-dev \ libzip-dev \ zip \ cron \ supervisor \ nano \ && rm -rf /var/lib/apt/lists/* # Install Xdebug (compatible with PHP 8.3) RUN pecl install xdebug && docker-php-ext-enable xdebug # Install PHP extensions RUN docker-php-ext-install pdo pdo_mysql RUN docker-php-ext-configure gd --with-freetype --with-jpeg \ && docker-php-ext-install -j$(nproc) gd \ && docker-php-ext-install zip \ && docker-php-ext-install bcmath # Install Composer COPY --from=composer:latest /usr/bin/composer /usr/bin/composer #NODEJS & NPM (OLD Before upgrade) # RUN curl -sL https://deb.nodesource.com/setup_14.x | bash - # RUN apt-get -y install nodejs #NODEJS & NPM (Node 14 for x86_64 (amd64)) # RUN curl -fsSL https://nodejs.org/dist/v14.21.3/node-v14.21.3-linux-x64.tar.xz -o node.tar.xz \ # && tar -xJf node.tar.xz -C /usr/local --strip-components=1 \ # && rm node.tar.xz # NODEJS & NPM (Node 14 for ARM64) RUN curl -fsSL https://nodejs.org/dist/v14.21.3/node-v14.21.3-linux-arm64.tar.xz -o node.tar.xz \ && tar -xJf node.tar.xz -C /usr/local --strip-components=1 \ && rm node.tar.xz # Set permissions RUN chown -R www-data:www-data /var/www \ && chmod 755 /var/www # Configure Xdebug RUN echo "xdebug.mode=debug" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini RUN echo "xdebug.start_with_request=yes" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini RUN echo "xdebug.client_host=host.docker.internal" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini RUN echo "xdebug.client_port=9002" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini RUN echo "xdebug.idekey=VSCODE" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini # Moved to docker-setup folder # RUN echo 'pm.max_children = 15' >> /usr/local/etc/php-fpm.d/zz-docker.conf && \ # echo 'pm.max_requests = 500' >> /usr/local/etc/php-fpm.d/zz-docker.conf