FROM php:8.5-apache

ENV APP_ROOT=/var/www/html
ENV APACHE_DOCUMENT_ROOT=/var/www/html/www
ENV COMPOSER_ALLOW_SUPERUSER=1

# update document root
RUN sed -ri -e 's!/var/www/html!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/sites-available/*.conf
RUN sed -ri -e 's!/var/www/html!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/apache2.conf /etc/apache2/conf-available/*.conf

RUN apt-get update -y && \
  apt-get install -y apt-utils 2>&1 | grep -v "debconf: delaying package configuration, since apt-utils is not installed" && \
  apt-get install -y libzip-dev && \
  apt-get install -y \
    tzdata \
    htop \
    openssh-server \
    iputils-ping \
    libkrb5-dev \
    libonig-dev \
    libpq-dev \
    libssl-dev \
    postgresql \
    sendmail \
    wget \
    mc \
    qpdf \
    git \
    zip \
    curl \
    libicu-dev \
    libbz2-dev \
    libpng-dev \
    libjpeg-dev \
    libmcrypt-dev \
    libreadline-dev \
    libfreetype6-dev \
    g++ \
  && rm -rf /var/lib/apt/lists/*

# Nastavení časové zóny
RUN ln -fs /usr/share/zoneinfo/Europe/Prague /etc/localtime && \
    dpkg-reconfigure -f noninteractive tzdata

RUN docker-php-ext-install gettext
# RUN docker-php-ext-install fileinfo
RUN docker-php-ext-install bz2
RUN docker-php-ext-install exif
RUN docker-php-ext-install zip intl
# RUN docker-php-ext-install opcache
# RUN docker-php-ext-configure imap --with-kerberos --with-imap-ssl && docker-php-ext-install imap

RUN a2enmod rewrite

RUN docker-php-ext-configure gd --with-freetype=/usr/include/ --with-jpeg=/usr/include/ && docker-php-ext-install gd

# copy all the source code to docker image
COPY ./ ${APP_ROOT}


RUN chown -R www-data:www-data ${APP_ROOT}

RUN chmod 0777 ${APP_ROOT}/temp -R
RUN chmod 0777 ${APP_ROOT}/log -R

# COPY .docker/local.neon ${APACHE_DOCUMENT_ROOT}/../config/local.neon

COPY --from=composer:latest /usr/bin/composer /usr/local/bin/composer
RUN composer install --no-dev --optimize-autoloader

RUN chown -R www-data:www-data ${APP_ROOT}

# Run shell script on container startup (as www-data) - then run apache (as root)
CMD ["sh", "-c", "printenv > /etc/environment && apache2-foreground"]