
ARG PHP_VERSION=8.2
FROM php:${PHP_VERSION}-apache

COPY --from=mlocati/php-extension-installer:latest /usr/bin/install-php-extensions /usr/local/bin/
RUN install-php-extensions pdo_mysql mysqli gd zip intl bcmath exif opcache \
    && apt-get update \
    && apt-get install -y --no-install-recommends \
        default-mysql-client \
        poppler-utils \
        ca-certificates \
    && rm -rf /var/lib/apt/lists/*

RUN a2enmod rewrite headers

COPY docker/back/zz-app.ini /usr/local/etc/php/conf.d/zz-app.ini
COPY docker/back/mysql-client.cnf /etc/mysql/conf.d/zz-client.cnf

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

WORKDIR /var/www/app
COPY back-end/composer.json back-end/composer.lock ./
RUN composer install --no-dev --no-interaction --no-progress --prefer-dist --optimize-autoloader

COPY back-end/ ./

RUN rm -f /var/www/app/.env /var/www/app/php.ini \
    && chown -R www-data:www-data /var/www/app

COPY docker/back/entrypoint.sh /usr/local/bin/entrypoint.sh
RUN sed -i 's/\r$//' /usr/local/bin/entrypoint.sh && chmod +x /usr/local/bin/entrypoint.sh

EXPOSE 80
ENTRYPOINT ["entrypoint.sh"]
