FROM php:8.3-apache

# Install system dependencies and PHP extensions
RUN apt-get update && apt-get install -y \
        libsqlite3-dev \
        libzip-dev \
        libjpeg-dev \
        libpng-dev \
        libwebp-dev \
        libgif-dev \
        imagemagick \
        libmagickwand-dev \
        unzip \
    && docker-php-ext-configure gd --with-jpeg --with-webp \
    && docker-php-ext-install pdo_sqlite zip gd opcache \
    && pecl install imagick \
    && docker-php-ext-enable imagick

# Set DocumentRoot
ENV APACHE_DOCUMENT_ROOT=/var/www/html

# Copy application files
COPY . /var/www/html

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

# Create data directories and set permissions
RUN mkdir -p /var/www/html/data/database /var/www/html/data/images/custom /var/www/html/data/images/backgrounds && \
    chmod -R 775 /var/www/html/data

# Copy and set up entrypoint
COPY /docker/entrypoint.sh /usr/local/bin/entrypoint.sh
RUN chmod +x /usr/local/bin/entrypoint.sh
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]

# Expose port and start Apache
EXPOSE 80
CMD ["apache2-foreground"]
