FROM php:5.6.37-alpine
ENV IGBINARY_VERSION=2.0.7
# Install required packages for making and building php extensions and packages
RUN apk update && apk add \
    g++ \
    autoconf \
    git \
    make \
    libpng-dev \
    gettext-dev \
    libmcrypt-dev \
    libmemcached-dev \
    zlib-dev \
    yaml-dev \
    && docker-php-ext-install -j$(nproc) bcmath gd gettext pdo_mysql mysql mysqli mcrypt zip
# Install igbinary from source.
# Installing via pecl throws incompatible compiler errors
# igbinary and msgpack are installed as requirements for memcached
RUN set -xe && \
    curl -LO https://github.com/igbinary/igbinary/archive/${IGBINARY_VERSION}.tar.gz  && \
    tar zxf ${IGBINARY_VERSION}.tar.gz && \
    cd igbinary-${IGBINARY_VERSION} && \
    phpize && ./configure && \
    make && make install && \
    docker-php-ext-enable igbinary && \
    cd .. && rm -rf igbinary-${IGBINARY_VERSION} ${IGBINARY_VERSION}.tar.gz
RUN pecl install msgpack-0.5.7 && \
    docker-php-ext-enable msgpack && \
    pecl install memcached-2.2.0 && \
    docker-php-ext-enable memcached && \
    pecl install memcache && \
    docker-php-ext-enable memcache && \
    pecl install yaml-1.3.1 && \
    docker-php-ext-enable yaml

# Copy in the workdir code
WORKDIR /usr/src/oa

RUN echo 'memory_limit = 256M' >> /usr/local/etc/php/conf.d/00-override.ini
RUN echo 'short_open_tag = On' >> /usr/local/etc/php/conf.d/00-override.ini
RUN echo 'date.timezone = America/New_York' >> /usr/local/etc/php/conf.d/00-override.ini
# Install composer
RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \
    && echo "Skipping composer checksum" \
    && php composer-setup.php \
    && php -r "unlink('composer-setup.php');" \
    && mv composer.phar /usr/local/bin/composer
