FROM php:7.3.33-cli

RUN apt-get update -qq && \
    apt-get install -qy \
    # GD
    libfreetype6-dev \
    libjpeg62-turbo-dev \
    libpng-dev \
    libwebp-dev \ 
    libxpm-dev  \
    # INTL 
    zlib1g-dev libicu-dev g++ \
    # XSL 
    libxslt-dev \
    # ZIP 
    libzip-dev \
    unzip \
    zip \
    # Imagick
    libmagick++-dev \
    libmagickwand-dev \
    # Memcached
    libmemcached-dev \
    # ldap
    ldap-utils libldap2-dev \
    # locales
    locales

# LOCALES
ENV DEBIAN_FRONTEND noninteractive
RUN echo "fr_FR.UTF-8 UTF-8" > /etc/locale.gen && \
    locale-gen fr_FR.UTF-8 && \
    dpkg-reconfigure locales && \
    /usr/sbin/update-locale LANG=fr_FR.UTF-8
ENV LC_ALL fr_FR.UTF-8
ENV LANG fr_FR.UTF-8  
ENV LANGUAGE fr_FR.UTF-8:fr  
# END LOCALES

RUN docker-php-ext-configure gd \
    --with-gd \
    --with-webp-dir \
    --with-jpeg-dir \
    --with-png-dir \
    --with-zlib-dir \
    --with-xpm-dir \
    --with-freetype-dir

RUN docker-php-ext-configure intl
RUN docker-php-ext-configure zip --with-libzip
RUN docker-php-ext-configure ldap
RUN docker-php-ext-install exif gd gettext intl mysqli pdo_mysql xsl opcache zip bcmath ldap sockets

RUN pecl install imagick-3.6.0 && docker-php-ext-enable imagick
RUN pecl install memcached-3.1.5 && docker-php-ext-enable memcached

# DEV
RUN apt-get install -qy git
# local-php-security-checker
RUN mkdir /tools && \ 
    curl -L https://github.com/fabpot/local-php-security-checker/releases/download/v2.0.4/local-php-security-checker_2.0.4_linux_amd64 -o /tools/local-php-security-checker && \
    chmod +x /tools/local-php-security-checker

ENV PATH="$PATH:/tools"

RUN pecl install pcov && docker-php-ext-enable pcov
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
RUN curl -fsSL https://deb.nodesource.com/setup_17.x | bash -
RUN apt-get install -y nodejs && npm install -g audit-ci@^6
## DEV

RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
COPY php-production.ini /usr/local/etc/php/conf.d/app.ini

WORKDIR /project