FROM php:7.4-apache

# Time Zone
ENV TIME_ZONE="Europe/Bucharest"

# PHP defaults
ENV PHP_MEMORY_LIMIT="1024M"


RUN apt update && apt install -y \
    git \
    zip \
    curl \
    sudo \
    unzip \
    vim \
    wget \
    cron \
    libicu-dev \
    libzip-dev \
    libbz2-dev \
    libpng-dev \
    libjpeg-dev \
    libmcrypt-dev \
    libreadline-dev \
    libfreetype6-dev \
    libc-client-dev \
    libcurl4-gnutls-dev \
    libxml2-dev \
    libkrb5-dev \
    g++ \
    nano \
    gnupg \
    dos2unix

# Set TIME_ZONE
RUN unlink /etc/localtime
RUN ln -snf /usr/share/zoneinfo/${TIME_ZONE} /etc/localtime 
RUN echo ${TIME_ZONE} > /etc/timezone

RUN docker-php-ext-configure imap --with-kerberos --with-imap-ssl \
    && docker-php-ext-install imap

# RUN docker-php-ext-install \
RUN curl -sSLf -o /usr/local/bin/install-php-extensions \
    https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions && \
    chmod +x /usr/local/bin/install-php-extensions && \
    install-php-extensions  pdo \
    zip \
    bz2 \
    intl \
    iconv \
    bcmath \
    opcache \
    calendar \
    mysqli \
    pdo_mysql \
    mbstring \ 
    gd \
    hash \ 
    sockets \ 
    dom \  
    xml \  
    simplexml \  
    xmlwriter \ 
    xmlreader \ 
    soap \  
    json \  
    exif \  
    curl \  
    date \
    fileinfo \
    filter \
    ftp \
    gettext \
    gmp \
    libxml \
    memcache \
    memcached \
    mysqlnd \
    openssl \
    tidy \
    tokenizer \
    xsl \
    zlib

RUN docker-php-ext-configure zip
RUN docker-php-ext-configure gd 
RUN docker-php-ext-install gd

# Add backup script
COPY backup/crm_backup.sh /usr/local/bin/crm_backup.sh
RUN dos2unix /usr/local/bin/crm_backup.sh
COPY cron/crm_app_cron /etc/cron.d/crm_app_cron
COPY cron/crm_backup_cron /etc/cron.d/crm_backup_cron
RUN dos2unix /etc/cron.d/crm_backup_cron

# Install rclone to push to bucket
RUN wget -O rclone.deb https://downloads.rclone.org/rclone-current-linux-amd64.deb && dpkg -i rclone.deb

# Install composer
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

# Ensure PHP logs are captured by the container
ENV LOG_CHANNEL=stderr


# Copy the PHP ini file
COPY docker-php.ini /usr/local/etc/php/conf.d/docker-php.ini
RUN chmod 0644 /usr/local/etc/php/conf.d/docker-php.ini

# Copy initdbScripts
#COPY /mysql/crmconne_devstaging.sql /home/initdbScripts/crmconne_devstaging.sql
#RUN chmod 0644 /home/initdbScripts/crmconne_devstaging.sql

# Apache configuration
ENV APACHE_DOCUMENT_ROOT=/var/www/html
RUN sed -ri -e 's!/var/www/html!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/sites-available/*.conf
RUN sed -ri -e 's!/var/www/!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/apache2.conf /etc/apache2/conf-available/*.conf
RUN a2enmod rewrite headers

# Install mysql-client
RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys B7B3B788A8D3785C
#RUN wget -qO - https://repo.mysql.com/RPM-GPG-KEY-mysql-2023 | apt-key add
RUN echo "deb http://repo.mysql.com/apt/debian/ buster mysql-8.0" > /etc/apt/sources.list.d/mysql.list

RUN apt-get update \
    && apt-get install -y mysql-community-client

# Copy app
COPY /app /var/www/html/.
# # Change current user to www-data
RUN chown -R www-data:www-data /var/www/

COPY ./wait-for /wait-for/
COPY ./init /usr/local/bin/

RUN chmod u+x /usr/local/bin/init.sh

RUN apt-get install dos2unix
RUN dos2unix /usr/local/bin/init.sh

# PAUL
# RUN apt install vim
# END PAUL 


# The default apache run command
# CMD ["apache2-foreground"]
ENTRYPOINT ["init.sh"]
