FROM php:8.3-fpm-alpine # Install system deps RUN apk add --no-cache \ bash \ git \ icu-dev \ libzip-dev \ libxml2-dev \ oniguruma-dev \ g++ \ make \ nodejs \ npm \ shadow # Install PHP extension installer COPY --from=mlocati/php-extension-installer /usr/bin/install-php-extensions /usr/local/bin/ # Install PHP extensions RUN install-php-extensions \ intl \ pdo_mysql \ opcache \ zip \ tokenizer \ ctype \ iconv \ mbstring \ dom \ xml \ simplexml \ xmlreader \ xmlwriter # Install composer ENV COMPOSER_ALLOW_SUPERUSER=1 \ COMPOSER_HOME=/tmp/composer COPY --from=composer:2 /usr/bin/composer /usr/bin/composer # Configure PHP COPY docker/php/php.ini $PHP_INI_DIR/conf.d/zz-custom.ini # Adjust www-data UID/GID to match host user (default 1000) ARG USER_ID=1000 ARG GROUP_ID=1000 RUN if [ ${USER_ID:-0} -ne 0 ] && [ ${GROUP_ID:-0} -ne 0 ]; then \ userdel -f www-data &&\ if getent group www-data ; then groupdel www-data; fi &&\ groupadd -g ${GROUP_ID} www-data &&\ useradd -l -u ${USER_ID} -g www-data www-data &&\ install -d -m 0755 -o www-data -g www-data /home/www-data \ ;fi WORKDIR /var/www/html # Set permissions for Symfony directories RUN mkdir -p var/cache var/log var/sessions && \ chown -R www-data:www-data var # Default command CMD ["php-fpm"]