FROM php:8.1-apache

ENV DEBIAN_FRONTEND noninteractive
ENV TZ=UTC

RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

RUN apt-get update && apt-get install -y \
        libpng-dev \
        zlib1g-dev \
        libxml2-dev \
        libzip-dev \
        libonig-dev \
        libpq-dev \
        libldap2-dev \
        zip \
        curl \
        unzip \
        libmagickwand-dev --no-install-recommends \
        supervisor \
        libfreetype6-dev \
        libjpeg62-turbo-dev \
        libpng-dev \
        cron \
        libc-client-dev libkrb5-dev \
    && docker-php-ext-configure gd --with-freetype --with-jpeg \
    && docker-php-ext-install -j$(nproc) gd \
    && docker-php-ext-install pdo_mysql \
    && pecl install -o -f redis \
    && rm -rf /tmp/pear \
    && docker-php-ext-enable redis \
    && docker-php-ext-install mysqli \
    && docker-php-ext-install zip \
    && docker-php-ext-install mbstring \
    && docker-php-ext-install pgsql pdo_pgsql \
    && docker-php-ext-configure imap --with-kerberos --with-imap-ssl \
    && docker-php-ext-install -j$(nproc) imap \
    && docker-php-ext-install ldap \
    && apt-get install -y curl \
    && curl -sL https://deb.nodesource.com/setup_lts.x | bash - \
    && apt-get install -y nodejs \
    && docker-php-source delete

RUN node -v

RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
    
COPY 000-default.conf /etc/apache2/sites-available/000-default.conf

RUN usermod -u 1000 www-data
RUN groupmod -g 1000 www-data

# Retrieve the owner ID of /var/www/public
ENV APACHE_DOCUMENT_ROOT /var/www/public
# ENV APACHE_RUN_USER "$(stat -c '%u' /var/www/public)"
# ENV APACHE_RUN_GROUP "$(stat -c '%g' /var/www/public)"

RUN a2enmod rewrite \
    && a2enmod headers

COPY php.ini /usr/local/etc/php/php.ini

WORKDIR /var/www/public

RUN cat /etc/apache2/apache2.conf
RUN echo $APACHE_RUN_USER
RUN echo $APACHE_RUN_GROUP

CMD ["apache2-foreground"]
# CMD ["php", "../artisan", "serve"]