
# Usar imagem PHP com Apache
FROM php:8.2-apache

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

# Instalar dependências do sistema
RUN apt-get update && apt-get install -y \
    libpng-dev \
    libjpeg62-turbo-dev \
    libfreetype6-dev \
    libonig-dev \
    libxml2-dev \
    libzip-dev \
    zip \
    unzip \
    curl \
    default-mysql-client \
    && rm -rf /var/lib/apt/lists/*

# Configurar e instalar extensões PHP
RUN docker-php-ext-configure gd --with-freetype --with-jpeg \
    && docker-php-ext-install -j$(nproc) \
        pdo \
        pdo_mysql \
        mbstring \
        exif \
        pcntl \
        bcmath \
        gd \
        zip \
        intl \
        opcache

# Configurar Apache
RUN a2enmod rewrite headers expires
RUN a2enmod ssl

# Copiar configuração personalizada do Apache
COPY docker/apache/000-default.conf /etc/apache2/sites-available/000-default.conf
COPY docker/apache/apache2.conf /etc/apache2/apache2.conf

# Configurar PHP
COPY docker/php/php.ini /usr/local/etc/php/conf.d/custom.ini

# Criar usuário para execução
RUN groupadd -g 1000 appuser && \
    useradd -u 1000 -g appuser -m appuser

# Configurar permissões
RUN chown -R appuser:appuser /var/www/html
RUN chmod -R 755 /var/www/html

# Copiar aplicação
COPY --chown=appuser:appuser . .

# Criar diretórios necessários
RUN mkdir -p public/uploads/curriculos public/uploads/fotos logs \
    && chown -R appuser:appuser public/uploads logs \
    && chmod -R 775 public/uploads logs

# Definir variáveis de ambiente
ENV APACHE_DOCUMENT_ROOT=/var/www/html/public
ENV APACHE_RUN_USER=appuser
ENV APACHE_RUN_GROUP=appuser

# Expor porta
EXPOSE 80

# Comando de inicialização
CMD ["apache2-foreground"]
