FROM php:7.3-fpm-buster

# Set the lifetime of a PHP session
ARG SESSION_LIFETIME=10800

# Set default UID for the PHP user
ARG UID=1000
ARG GID=1000

# Install postgresql client
# and compile docker php extensions
RUN apt update \
   && apt -y --no-install-recommends install \
      wget \
      gnupg \
   && wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc |  apt-key add - \
   && echo "deb http://apt.postgresql.org/pub/repos/apt/ buster-pgdg main" > /etc/apt/sources.list.d/pgdg.list \
   && apt update \
   && apt -y --no-install-recommends install \
      libicu-dev \
      g++ \
      libzip-dev \
      libzip4 \
      unzip \
      libfreetype6-dev \
      libpng-dev \
      libjpeg62-turbo-dev \
      libpq5 \
      libpq-dev \
      postgresql-12 \
      git \
   && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
   && docker-php-ext-install -j$(nproc) gd \
   && docker-php-ext-install intl pdo_pgsql mbstring zip bcmath sockets exif \
   && apt remove -y \
      wget \
      gnupg \
      libicu-dev \
      g++ \
      libzip-dev \
      libpq-dev \
   && apt autoremove -y \
   && apt purge -y

# Set php timezone
RUN { \
    echo ""; \
    echo "[Date]"; \
    echo "date.timezone = Europe/Brussels"; \
    echo ""; \
    } >> /usr/local/etc/php/conf.d/date.ini

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

# Symfony installer
RUN curl -sS https://get.symfony.com/cli/installer -o /usr/local/bin/installer | bash  \
   && chmod a+x /usr/local/bin/installer \
   && /usr/local/bin/installer \
   && mv /root/.symfony/bin/symfony /usr/local/bin/symfony \
   && chmod a+x /usr/local/bin/symfony

# Add users/groups with uid 1000
RUN groupadd --gid ${GID} "group${GID}" \
   && useradd --uid ${UID} --gid ${GID} --create-home "user${UID}"

USER ${UID}

RUN   git config --global user.email "docker-php-master@champs-libres.coop" \
   && git config --global user.name "Docker PHP Master"

USER root

WORKDIR "/var/www/app"