# Load php-apache
FROM php:8.2-apache

# Set working directory
WORKDIR /var/www/html

# Install packages(apt)
RUN apt-get update
RUN apt-get install -y dos2unix
RUN apt-get install -y libwebp-dev
RUN apt-get install -y libpng-dev
RUN apt-get install -y libjpeg62-turbo-dev
RUN apt-get install -y libfreetype6-dev
RUN apt-get install -y libonig-dev
RUN apt-get install -y libzip-dev
RUN apt-get install -y libcurl4-openssl-dev
RUN apt-get install -y zip
RUN apt-get install -y unzip
RUN apt-get install -y curl
RUN apt-get clean
RUN rm -rf /var/lib/apt/lists/*

# Copy uwuzu
COPY src /usr/src/app
RUN find /usr/src/app/ -type f -exec dos2unix {} \;

# Install packages(php)
RUN docker-php-ext-configure gd --with-freetype --with-webp
RUN docker-php-ext-install gd
RUN docker-php-ext-install pdo_mysql
RUN docker-php-ext-install mysqli
RUN docker-php-ext-install mbstring
RUN docker-php-ext-install zip
RUN docker-php-ext-install fileinfo
RUN docker-php-ext-install curl

# Enable Apache modules
RUN a2enmod rewrite
RUN a2enmod headers

# Copy custom configuration
COPY php/php.ini /usr/local/etc/php/conf.d/99-custom.ini
COPY php/apache2.conf /etc/apache2/conf-enabled/99-custom.conf

# Set permissions
USER root
RUN chown -R www-data:www-data /usr/src/app
RUN find /usr/src/app -type d -exec chmod 775 {} \;
RUN find /usr/src/app -type f -exec chmod 664 {} \;
RUN chmod 777 /usr/src/app

# Copy entrypoint
COPY php/entrypoint.sh /usr/src/entrypoint.sh
RUN chmod +x /usr/src/entrypoint.sh

# Run as www-data
USER www-data

# Exec entrypoint
ENTRYPOINT ["/usr/src/entrypoint.sh"]
