#FROM php:8.1.6-fpm-alpine3.15
FROM php:7.4.30-fpm-alpine3.15

LABEL maintainer="Ric Harvey <ric@squarecows.com>"

ENV php_conf /usr/local/etc/php-fpm.conf
ENV fpm_conf /usr/local/etc/php-fpm.d/www.conf
ENV php_vars /usr/local/etc/php/conf.d/docker-vars.ini

ENV NGINX_VERSION 1.21.6
ENV LUA_MODULE_VERSION 0.10.14
ENV DEVEL_KIT_MODULE_VERSION 0.3.1
ENV GEOIP2_MODULE_VERSION 3.3
ENV LUAJIT_LIB=/usr/lib
ENV LUAJIT_INC=/usr/include/luajit-2.1

RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories

# resolves #166
ENV LD_PRELOAD /usr/lib/preloadable_libiconv.so php
RUN apk add --no-cache --repository http://mirrors.aliyun.com/alpine/edge/community gnu-libiconv






#ADD php-rdkafka /usr/local/php-rdkafka
#RUN cd /usr/local/php-rdkafka && /usr/local/bin/phpize && ./configure --with-php-config=/usr/local/bin/php-config && make && make install


RUN echo @testing http://mirrors.aliyun.com/alpine/edge/testing >> /etc/apk/repositories && \
    echo /etc/apk/respositories && \
    apk update && apk upgrade &&\
    apk add --no-cache \
    bash \
    openssh-client \
    wget \
    supervisor \
    curl \
    libcurl \
    libpq \
    git \
    python3 \
    py3-pip \
    ca-certificates \
    dialog \
    autoconf \
    make \
    openssl-dev \
    libressl-dev \
    libzip-dev \
    bzip2-dev \
    icu-dev \
    gcc && \
    apk add --no-cache --virtual .sys-deps \
    musl-dev \
    linux-headers \
    augeas-dev \
    libmcrypt-dev \
    libpng-dev \
    libxslt-dev \
    python3-dev \
    libffi-dev \
    freetype-dev \
    sqlite-dev \
    imap-dev \
    libjpeg-turbo-dev \
    postgresql-dev && \
    docker-php-ext-install gd && \
    docker-php-ext-configure gd \
      --with-freetype \
      --with-jpeg && \
     pip install --upgrade pip && \
    #curl iconv session
    #docker-php-ext-install pdo_mysql pdo_sqlite mysqli mcrypt gd exif intl xsl json soap dom zip opcache && \
    # docker-php-ext-install iconv pdo_mysql pdo_sqlite pgsql pdo_pgsql mysqli gd exif intl xsl json soap dom zip opcache && \
    docker-php-ext-install  pdo_mysql mysqli pdo_sqlite pgsql pdo_pgsql exif intl xsl soap zip && \
    pecl install mongodb  && \
    pecl install rdkafka &&\
    docker-php-ext-enable rdkafka && \
    echo "extension=php_rdkafka.so" > /usr/local/etc/php/conf.d/php_rdkafka.ini && \
    echo "extension=mongodb.so" > /usr/local/etc/php/conf.d/mongodb.ini && \
    pecl install xdebug-3.1.4 && \
    pecl install -o -f redis && \
    echo "extension=redis.so" > /usr/local/etc/php/conf.d/redis.ini && \
    docker-php-source delete && \
    mkdir -p /etc/nginx && \
    mkdir -p /var/www/app && \
    mkdir -p /run/nginx && \
    mkdir -p /var/log/supervisor && \
    php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" && \
    php composer-setup.php --quiet --install-dir=/usr/bin --filename=composer && \
    rm composer-setup.php &&\
  #  pip3 install -U pip && \
    pip3 install -U certbot && \
    mkdir -p /etc/letsencrypt/webrootauth && \
    apk del gcc musl-dev linux-headers libffi-dev augeas-dev python3-dev make autoconf && \
    apk del .sys-deps
#    ln -s /usr/bin/php7 /usr/bin/php



rm -Rf /var/www/* && \
mkdir /var/www/html/



RUN apk update && apk add --no-cache supervisor

RUN mkdir -p "/etc/supervisor/logs"




# copy in code
ADD src/ /var/www/html/
ADD errors/ /var/www/errors



WORKDIR "/var/www/html"

CMD ["/usr/bin/supervisord", "-n", "-c",  "/etc/supervisor/supervisord.conf"]


