FROM php:8.4-fpm-alpine AS php-base

RUN apk add --no-cache \
        icu-dev libzip-dev linux-headers nodejs npm postgresql-dev sqlite-dev $PHPIZE_DEPS \
    && docker-php-ext-install -j"$(nproc)" intl opcache pcntl pdo_pgsql pdo_sqlite zip \
    && pecl install redis \
    && docker-php-ext-enable redis \
    && apk del $PHPIZE_DEPS linux-headers

COPY --from=composer:2 /usr/bin/composer /usr/bin/composer

WORKDIR /var/www/html

COPY docker/php.ini /usr/local/etc/php/conf.d/portal.ini
COPY composer.json composer.lock ./
RUN composer install --no-interaction --prefer-dist --no-scripts

COPY . .
RUN composer dump-autoload --optimize \
    && chown -R www-data:www-data storage bootstrap/cache

CMD ["php-fpm"]
