FROM php:7.3.29-apache

RUN rm /etc/apt/preferences.d/no-debian-php

RUN apt-get update && apt-get install -y \
    curl\
    sudo\
    wget zip unzip git libxml2-dev php-soap \
    build-essential g++ \
    libfreetype6-dev \
    libjpeg62-turbo-dev \
    libpng-dev \
    libicu-dev \
    libzip-dev \
    mariadb-client \
    nano \
    supervisor

#instalacion de node
RUN curl -fsSL https://deb.nodesource.com/setup_12.x | sudo -E bash -
RUN sudo apt-get install -y nodejs
RUN echo "NODE Version:" && node --version
RUN echo "NPM Version:" && npm --version

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

RUN docker-php-ext-install iconv sockets mbstring mysqli pdo pdo_mysql \
    && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
    && docker-php-ext-install gd \
    && docker-php-ext-install intl \
    && docker-php-ext-install zip \
    && docker-php-ext-install soap \
    && docker-php-ext-install exif

# Configure PHP
RUN echo "\
soap.wsdl_cache_enabled=0\n\
soap.wsdl_cache_ttl=0\n\
default_socket_timeout=120\n\
max_execution_time = 6000\n\
memory_limit = 8G\n\
upload_max_filesize = 150M\n\
post_max_size = 150M\n\
max_file_uploads = 20\n\
default_charset = \"UTF-8\"\n\
date.timezone = \"America/Argentina/Buenos_Aires\"\n\
short_open_tag = On\n\
session.gc_maxlifetime = 86400\n\
openssl.cafile=/var/www/dev/public/cacert.pem" > /usr/local/etc/php/php.ini

COPY 000-default.conf /etc/apache2/sites-available/

RUN a2enmod rewrite \
 && a2enmod headers \
 && a2enmod expires

RUN ln -sf /dev/stdout /var/log/apache2/access.log \
    && ln -sf /dev/stderr /var/log/apache2/error.log

RUN usermod -u 1000 www-data && usermod -a -G users www-data

# App dir
RUN mkdir -p /var/www/dev/public
WORKDIR /var/www/dev/public/

COPY --chown=www-data:www-data . .

RUN rm -f 000-default.conf
RUN rm -Rf php-cfg

EXPOSE 80 443