FROM node:14.18.1 AS node
FROM php:7.4-apache

COPY --from=node /usr/local/lib/node_modules /usr/local/lib/node_modules
COPY --from=node /usr/local/bin/node /usr/local/bin/node
RUN ln -s /usr/local/lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm

ENV APACHE_DOCUMENT_ROOT /var/www/html/public
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 docker-php-ext-install mysqli
RUN apt-get update -y && apt-get install -y sendmail libpng-dev libjpeg62-turbo-dev
RUN apt-get update && \
    apt-get install -y \
        zlib1g-dev
RUN apt-get update \
  && apt-get install -y \
    libonig-dev libpq-dev
RUN apt-get install -y \
        libzip-dev \
        zip
RUN apt-get install -y \
        curl
RUN apt install -y \
    libxml2-dev
RUN docker-php-ext-configure gd --with-jpeg
RUN docker-php-ext-install -j$(nproc) gd
RUN docker-php-ext-install mbstring
RUN docker-php-ext-install zip
RUN docker-php-ext-install xml
RUN docker-php-ext-install exif
RUN docker-php-ext-install soap
RUN docker-php-ext-install json
RUN docker-php-ext-enable mbstring
RUN docker-php-ext-enable zip
RUN docker-php-ext-enable gd
RUN docker-php-ext-enable xml
RUN docker-php-ext-enable exif
RUN docker-php-ext-enable soap
RUN docker-php-ext-enable json
RUN apt-get update && apt-get install -y libmcrypt-dev \
    libmagickwand-dev --no-install-recommends \
    && pecl install imagick \
    && docker-php-ext-enable imagick \
&& pecl install mcrypt-1.0.4 \
    && docker-php-ext-enable mcrypt
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
RUN a2enmod rewrite
COPY . /var/www/html/
COPY /public/admin/config-docker.php /var/www/html/public/admin/config.php
COPY /public/config-docker.php /var/www/html/public/config.php
RUN npm install