FROM php:8.3-apache

RUN apt-get update \
    && apt-get install -y --no-install-recommends \
       git unzip libicu-dev libzip-dev libpng-dev libjpeg62-turbo-dev libfreetype6-dev \
    && docker-php-ext-configure gd --with-freetype --with-jpeg \
    && docker-php-ext-install -j"$(nproc)" intl gd mysqli pdo_mysql zip opcache \
    && a2enmod rewrite headers expires \
    && rm -rf /var/lib/apt/lists/*

COPY --from=composer:2 /usr/bin/composer /usr/bin/composer
COPY docker/php-apache/vhost.conf /etc/apache2/sites-available/000-default.conf

WORKDIR /var/www/html

COPY composer.json ./
RUN if [ -f composer.json ]; then composer install --no-interaction --prefer-dist --no-progress; fi

COPY . .

RUN mkdir -p var public/assets \
    && chown -R www-data:www-data var public
