FROM php:8.1-fpm AS base

RUN apt-get update && apt-get install -y \
    libzip-dev \
    zip unzip \
    curl \
    vim libpng-dev

RUN pecl install -o -f redis \
    && rm -rf /tmp/pear \
    && docker-php-ext-enable redis \
    && docker-php-ext-install bcmath \
    && docker-php-ext-install ctype \
    && docker-php-ext-install fileinfo \
    && docker-php-ext-install pdo_mysql \
    && docker-php-ext-install pcntl \
    && docker-php-ext-install zip \
    && docker-php-ext-install gd \
    && docker-php-ext-install sockets

RUN php -r "readfile('http://getcomposer.org/installer');" | php -- --install-dir=/usr/bin/ --filename=composer

WORKDIR /var/www/html

FROM base AS local

RUN groupadd -g 1000 www
RUN useradd -u 1000 -ms /bin/bash -g www www

USER www

FROM local AS production

USER root

COPY ./ /var/www/html/

RUN cp .env.example .env

RUN chown www:www ./bootstrap/cache -R && chmod 775 ./bootstrap/cache -R
RUN chown www:www ./storage -R && chmod 775 ./storage -R

RUN composer install

USER www
