FROM php:8.2-fpm-alpine ARG PHP_XDEBUG ARG PHP_XDEBUG_MODE='debug' ARG APP_ENV ENV PHP_IDE_CONFIG="serverName=convoy" ENV PHP_MAX_CHILDREN=100 ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/ RUN chmod +x /usr/local/bin/install-php-extensions && \ install-php-extensions pdo_mysql pcntl redis opcache gmp RUN if [ $APP_ENV = "local" ]; then \ echo "opcache.validate_timestamps=1" >> /usr/local/etc/php/conf.d/docker-php-ext-opcache-cli.ini; \ fi; RUN if [ $PHP_XDEBUG = "true" ]; then \ install-php-extensions xdebug; \ echo "xdebug.client_host=host.docker.internal" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini; \ echo "xdebug.mode=$PHP_XDEBUG_MODE" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini; \ echo "xdebug.idekey=convoy" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini; \ echo "xdebug.start_with_request=yes" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini; \ fi; RUN echo "pm.max_children = $PHP_MAX_CHILDREN" >> /usr/local/etc/php-fpm.d/zz-docker.conf WORKDIR /var/www CMD ["php-fpm"]