FROM php:8.3-fpm

# Instalar dependências do sistema e extensões PHP
RUN apt-get update && apt-get install -y \
    git \
    curl \
    libpng-dev \
    libjpeg-dev \
    libfreetype6-dev \
    libonig-dev \
    libxml2-dev \
    zip \
    unzip \
    libzip-dev \
    libgmp-dev

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

# Configurar e instalar extensão GD
RUN docker-php-ext-configure gd --with-freetype --with-jpeg \
    && docker-php-ext-install -j$(nproc) gd

# Instalar outras extensões PHP
RUN docker-php-ext-install pdo_mysql mbstring exif pcntl bcmath gmp zip opcache

# Instalar Composer
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer

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

# Criar script de entrypoint
RUN echo '#!/bin/bash\n\
set -e\n\
\n\
# Verificar se vendor existe, se não, instalar\n\
if [ ! -d "/var/www/vendor" ]; then\n\
    echo "🔧 Instalando dependências do Composer..."\n\
    composer install --optimize-autoloader --no-dev --no-interaction\n\
fi\n\
\n\
# Executar comando original\n\
exec "$@"\n\
' > /usr/local/bin/docker-entrypoint.sh \
    && chmod +x /usr/local/bin/docker-entrypoint.sh

# Alterar permissões
RUN chown -R www-data:www-data /var/www

EXPOSE 9000

ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"]
CMD ["php-fpm"]
