# Use PHP 8.3 como base com FPM
FROM php:8.3-fpm

# Atualizar repositórios e instalar dependências do sistema
RUN apt-get update && apt-get install -y \
    git \
    curl \
    libpq-dev \
    libpng-dev \
    libonig-dev \
    libxml2-dev \
    libfreetype6-dev \
    libjpeg62-turbo-dev \
    libzip-dev \
    zip \
    unzip \
    nano \
    ghostscript \
    default-mysql-client \
    sudo \
    libmagickwand-dev \
    libmagickcore-dev \
    pkg-config \
    imagemagick  # Adicionado o ImageMagick para garantir compatibilidade

# Instalar extensões PHP
RUN docker-php-ext-configure pgsql -with-pgsql=/usr/local/pgsql \
    && docker-php-ext-install pdo pdo_pgsql pdo_mysql mysqli mbstring exif zip pcntl bcmath gd soap

# Instalar Imagick via PECL
RUN pecl install imagick-3.6.0 \
    && docker-php-ext-enable imagick

# Limpar cache do apt
RUN apt-get clean && rm -rf /var/lib/apt/lists/*

# Instalar Redis via PECL
RUN pecl install -o -f redis \
    && rm -rf /tmp/pear \
    && docker-php-ext-enable redis

# Pegar o Composer mais recente
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer

# Instalar XDebug para cobertura de código
RUN yes | pecl install xdebug \
    && echo "zend_extension=$(find /usr/local/lib/php/extensions/ -name xdebug.so)" > /usr/local/etc/php/conf.d/xdebug.ini \
    && echo "xdebug.remote_enable=on" >> /usr/local/etc/php/conf.d/xdebug.ini \
    && echo "xdebug.remote_autostart=off" >> /usr/local/etc/php/conf.d/xdebug.ini

# Definir o diretório de trabalho
WORKDIR /var/www/html

COPY . .

# Criar usuário para executar Composer e Artisan
RUN useradd -G www-data,root -ms /bin/bash -d /home/luffy luffy
RUN echo "luffy:mklider" | chpasswd
RUN sudo usermod -aG sudo luffy
RUN mkdir -p /home/luffy/.composer && \
    chown -R luffy:luffy /var/www/html

# Definir o usuário luffy
USER luffy
