FROM php:8.4-fpm-alpine

ARG UID
ARG GID
ARG USER

ENV UID=${UID}
ENV GID=${GID}
ENV USER=${USER}

RUN delgroup dialout

RUN addgroup -g ${GID} --system ${USER}
RUN adduser -G ${USER} --system -D -s /bin/sh -u ${UID} ${USER}

RUN sed -i "s/user = www-data/user = ${USER}/g" /usr/local/etc/php-fpm.d/www.conf
RUN sed -i "s/group = www-data/group = ${USER}/g" /usr/local/etc/php-fpm.d/www.conf
RUN echo "php_admin_flag[log_errors] = on" >> /usr/local/etc/php-fpm.d/www.conf

RUN apk add --no-cache postgresql-libs

RUN apk add --no-cache --virtual .build-deps \
    $PHPIZE_DEPS \
    postgresql-dev \
    linux-headers

RUN docker-php-ext-install pdo pgsql pdo_pgsql bcmath

RUN pecl install redis \
    && docker-php-ext-enable redis

RUN apk del --no-cache .build-deps

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

WORKDIR /app


RUN chown -R ${USER}:${USER} /app
USER ${USER}

CMD ["php-fpm", "-y", "/usr/local/etc/php-fpm.conf", "-R"]