FROM php:8.4-apache

# Enable required Apache modules
RUN a2enmod rewrite && a2enmod headers && a2enmod expires

# Install system dependencies
RUN apt-get update && apt-get install -y \
    libpng-dev \
    libjpeg-dev \
    libfreetype6-dev \
    libzip-dev \
    libcurl4-openssl-dev \
    libicu-dev \
    && rm -rf /var/lib/apt/lists/*

# Install PHP extensions
RUN docker-php-ext-configure gd --with-freetype --with-jpeg && \
    docker-php-ext-install -j$(nproc) \
    pdo_mysql \
    mysqli \
    gd \
    zip \
    curl \
    intl \
    bcmath \
    gettext \
    fileinfo

WORKDIR /var/www/html

# Set proper permissions for writable directories
RUN mkdir -p Include Images/Family Images/Person logs session tmp_attach && \
    chmod -R 777 Include Images logs session tmp_attach

# Create entrypoint script to fix permissions at runtime
RUN echo '#!/bin/bash\n\
chown -R www-data:www-data /var/www/html/Include /var/www/html/Images /var/www/html/logs /var/www/html/session /var/www/html/tmp_attach 2>/dev/null || true\n\
chmod -R 777 /var/www/html/Include /var/www/html/Images /var/www/html/logs /var/www/html/session /var/www/html/tmp_attach 2>/dev/null || true\n\
exec docker-php-entrypoint apache2-foreground' > /usr/local/bin/entrypoint.sh && \
    chmod +x /usr/local/bin/entrypoint.sh

ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
