FROM php:8.3-cli-bullseye

RUN apt-get update -qq && \
    apt-get install -qy \
    # Common
    nano \
    vim \
    # 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 \
    --enable-gd \
    --with-webp \
    --with-jpeg \
    --with-xpm \
    --with-freetype

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

RUN pecl install imagick-3.7.0 && docker-php-ext-enable imagick
RUN pecl install memcached-3.2.0 && 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 --version=2.9.5
## NODE
RUN apt-get update -qq && \
    apt-get install -qy \
    ca-certificates curl gnupg \
    && mkdir -p /etc/apt/keyrings \
    && curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \
    && echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_18.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list
## END NODE
RUN apt-get update -qq && apt-get install -y nodejs && npm install -g audit-ci@^6
#END 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