FROM php:8.3-fpm-bookworm ARG UID=1000 ARG GID=1000 ENV COMPOSER_ALLOW_SUPERUSER=1 \ COMPOSER_NO_INTERACTION=1 \ COMPOSER_MEMORY_LIMIT=-1 RUN apt-get update \ && apt-get install -y --no-install-recommends \ git \ unzip \ curl \ ca-certificates \ libzip-dev \ libpng-dev \ libjpeg-dev \ libfreetype6-dev \ libwebp-dev \ libicu-dev \ libonig-dev \ libxml2-dev \ libcurl4-openssl-dev \ libssl-dev \ pkg-config \ && rm -rf /var/lib/apt/lists/* RUN docker-php-ext-configure gd --with-freetype --with-jpeg --with-webp \ && docker-php-ext-install -j"$(nproc)" \ pdo_mysql \ intl \ bcmath \ gd \ zip \ pcntl \ posix \ exif \ sockets \ opcache RUN pecl install redis \ && docker-php-ext-enable redis COPY --from=composer:2 /usr/bin/composer /usr/local/bin/composer RUN groupmod -g ${GID} www-data \ && usermod -u ${UID} -g ${GID} www-data \ && mkdir -p /var/www/.composer \ && chown -R www-data:www-data /var/www COPY php.ini /usr/local/etc/php/conf.d/zz-app.ini COPY opcache.ini /usr/local/etc/php/conf.d/zz-opcache.ini COPY php-fpm.conf /usr/local/etc/php-fpm.d/zz-app.conf COPY entrypoint.sh /usr/local/bin/entrypoint.sh RUN chmod +x /usr/local/bin/entrypoint.sh WORKDIR /var/www/html USER www-data EXPOSE 9000 ENTRYPOINT ["/usr/local/bin/entrypoint.sh"] CMD ["php-fpm"]