FROM php:8.1-apache

# Instalar extensões PHP necessárias
RUN docker-php-ext-install pdo pdo_mysql json
RUN docker-php-ext-enable pdo pdo_mysql json

# Instalar Composer
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

# Habilitar mod_rewrite para Apache
RUN a2enmod rewrite
RUN a2enmod headers
RUN a2enmod deflate

# Definir diretório raiz do Apache
ENV APACHE_DOCUMENT_ROOT=/app/public
RUN sed -ri -e 's!/var/www/html!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/sites-enabled/*.conf
RUN sed -ri -e 's!/var/www/html!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/apache2.conf /etc/apache2/conf-enabled/*.conf

# Definir zona de tempo
RUN ln -sf /usr/share/zoneinfo/America/Sao_Paulo /etc/localtime

# Criar diretórios necessários
RUN mkdir -p /app/storage/logs /app/storage/uploads
RUN chmod -R 755 /app/storage

# Copiar arquivos
COPY . /app

# Instalar dependências do composer
WORKDIR /app
RUN composer install --no-dev --optimize-autoloader

# Definir variáveis de ambiente
ENV APP_ENV=production

# Expor porta
EXPOSE 80

# Health check
HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \
    CMD curl -f http://localhost/diagnose.php || exit 1

CMD ["apache2-foreground"]
