FROM php:8.1-fpm-alpine as base

RUN apk add --no-cache --virtual .build-deps $PHPIZE_DEPS && \
    apk add --no-cache --virtual .run-deps shadow icu-libs icu-dev zlib-dev libzip-dev && \
    pecl chanel-update pecl.php.net

# zip
RUN docker-php-ext-install zip

# MySQL
RUN docker-php-ext-install mysqli pdo pdo_mysql

# bcmath
RUN docker-php-ext-install bcmath

# intl
RUN docker-php-ext-configure intl \
    && docker-php-ext-install intl

# opcache
RUN docker-php-ext-install opcache
COPY ./docker/php-fpm/opcache.ini /usr/local/etc/php/conf.d/opcache.ini

# gd
RUN apk add --no-cache --virtual .run-deps-gd libjpeg-turbo-dev libwebp-dev libpng-dev
RUN docker-php-ext-configure gd \
            --with-jpeg \
            --with-webp \
    && docker-php-ext-install gd

COPY ./docker/php-fpm/backend.ini /usr/local/etc/php/conf.d
COPY ./docker/php-fpm/xbackend.pool.conf /usr/local/etc/php-fpm.d/

RUN apk del .build-deps

USER root

RUN usermod -u 1000 www-data

WORKDIR /var/www

CMD ["php-fpm"]

EXPOSE 9000

FROM base as dev

#ARG XDEBUG_INI_FILENAME

# xDebug
#RUN pecl install xdebug-2.7.0beta1 \
#    && docker-php-ext-enable xdebug
#COPY ${XDEBUG_INI_FILENAME} /usr/local/etc/php/conf.d/xdebug.ini

# composer
COPY --from=composer:2.2.9 /usr/bin/composer /usr/bin/composer


FROM base as run

COPY cms/composer.json /var/www/composer.json
COPY cms/composer.lock /var/www/composer.lock

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

RUN composer install --prefer-dist --no-dev --ignore-platform-reqs --no-scripts -o -q

RUN rm /usr/bin/composer

RUN echo "pm.status_path = /status" >> /usr/local/etc/php-fpm.d/zz-docker.conf

RUN apk add --no-cache fcgi

RUN wget -O /usr/local/bin/php-fpm-healthcheck https://raw.githubusercontent.com/renatomefi/php-fpm-healthcheck/master/php-fpm-healthcheck \
    && chmod +x /usr/local/bin/php-fpm-healthcheck

COPY cms /var/www

