FROM php:7.4-fpm-alpine

# Update and Upgrade
RUN apk update \
    && apk upgrade

# Runtime dependencies
RUN apk add --no-cache $PHPIZE_DEPS \
    libjpeg-turbo-dev \
    libpng-dev \
    libzip-dev \
&& pecl install -f redis-5.2.2 \
&& pecl install -f xdebug-2.9.5

# Enable php extensions
RUN docker-php-ext-enable redis xdebug

# Configure php extensions
RUN docker-php-ext-configure gd --with-jpeg

# Install php extensions
RUN docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) \
    pdo \
    pdo_mysql \
    pcntl \
    gd \
    exif \
    zip

# Reduce image size
RUN apk del $PHPIZE_DEPS

# Permissions
ARG UID=82
ARG GID=82

RUN apk add --no-cache shadow \
    && groupmod -g ${GID} www-data \
    && usermod -u ${UID} -g ${GID} www-data \
    && chown -fR ${UID}:${GID} /home/www-data \
    && chown -fR ${UID}:${GID} /usr/local/etc/php

# Install composer
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
RUN mkdir /.composer
RUN chown ${UID}:${GID} /.composer

USER ${UID}:${GID}

# Use development php.ini
RUN mv "$PHP_INI_DIR/php.ini-development" "$PHP_INI_DIR/php.ini"
COPY /docker/xdebug.conf ${PHP_INI_DIR}/conf.d/docker-php-ext-xdebug.ini
