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

# 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

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"]
